Gaming machine

A numerical circulation method in gaming machines ensures fair game outcomes by preventing multiple uses of random numbers, addressing unfairness in existing systems.

JP2026022052APending Publication Date: 2026-02-12FUJI SHOJI CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024123397
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-30
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

In gaming machines, inappropriate random number generation methods can lead to unfair game outcomes, favoring certain players.

Method used

Implement a random number generation method using a numerical circulation technique with a circulation time shorter than the shortest execution interval of lottery processes, preventing multiple uses of random numbers within a cycle.

Benefits of technology

Ensures fair game outcomes by preventing repeated use of random numbers, thereby maintaining game integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026022052000001_ABST
    Figure 2026022052000001_ABST
Patent Text Reader

Abstract

To achieve random number generation capable of securing fairness of a game.SOLUTION: The game machine is provided with a random number generation means for generating a random number by a numerical value circulation system and a drawing means for executing drawing processing using the random number generated by the random number generation means, and the circulation time of the random number in a random number circuit provided in the random number generation means is made shorter than the shortest execution interval of the drawing processing in the drawing means.SELECTED DRAWING: Figure 74
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to various gaming machines, such as pinball gaming machines. [Background technology]

[0002] For example, as disclosed in Patent Document 1 below, gaming machines such as pinball gaming machines are provided with a random number circuit that generates random numbers, and various lottery processes such as jackpot lotteries are executed based on the random numbers generated by the random number circuit. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2023-027356 Summary of the Invention [Problem to be solved by the invention]

[0004] If the random number generation method in a gaming machine is not appropriate, it may lead to situations where the game lacks fairness, such as players being more likely to obtain lottery results that are advantageous to them.

[0005] Therefore, an object of the present invention is to realize random number generation that can ensure fairness in games. [Means for solving the problem]

[0006] The gaming machine of the present invention comprises a random number generation means for generating random numbers by a numerical circulation method, and a lottery means for executing a lottery process using the random numbers generated by the random number generation means, and the circulation time of the random numbers in the random number circuit of the random number generation means is shorter than the shortest execution interval of the lottery process in the lottery means. This prevents random numbers from being obtained multiple times within the random number circulation time. [Effects of the Invention]

[0007] According to the present invention, it is possible to realize random number generation that can ensure the fairness of games. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 2 is a perspective view showing the appearance of the gaming machine. [Figure 2] 1 is an oblique view of the gaming machine when the front frame is open. [Figure 3] FIG. 2 is a diagram showing the configuration of a gaming board of a gaming machine. [Figure 4] FIG. 10 is an explanatory diagram of an example of the operation of a movable device. [Figure 5] FIG. 2 is a block diagram showing the control configuration of the gaming machine. [Figure 6] FIG. 10 is an explanatory diagram of an example of a preview performance. [Figure 7] 10 is a flowchart showing the main processing on the main control side. [Figure 8] 10 is a flowchart showing a main loop process. [Figure 9] 10 is a flowchart showing the main control side timer interrupt processing. [Figure 10] 10 is a flowchart showing a normal symbol management process. [Figure 11] FIG. 10 is a diagram illustrating an example of a normal winning determination table. [Figure 12] A diagram illustrating an example of the winning type, variation time, and determination time for a normal pattern variation display game. [Figure 13] 10 is a flowchart showing a special symbol management process. [Figure 14] FIG. 1 is a flowchart showing the starting port check process. [Figure 15] 10 is a flowchart showing the special symbol variation start processing. [Figure 16] This is a flowchart showing the jackpot random number determination process. [Figure 17] A diagram showing an example of a jackpot determination table. [Figure 18]A diagram explaining the jackpot random number determination method. [Figure 19] 10 is a flowchart showing a symbol lottery process. [Figure 20] FIG. 10 is a diagram showing an example of a design table. [Figure 21] 10 is a flowchart showing a variation pattern lottery process. [Figure 22] A figure showing an example of a variation pattern lottery table. [Figure 23] 10 is a flowchart showing the main processing on the performance control side. [Figure 24] 10 is a flowchart showing the timer interrupt processing on the performance control side. [Figure 25] FIG. 1 is a diagram showing an outline of the configuration of a conventional movable object control system. [Figure 26] FIG. 1 is a diagram showing an outline of the configuration of a movable object control system according to an embodiment. [Figure 27] FIG. 2 is a block diagram showing an example of a schematic internal configuration of a motor drive control unit according to an embodiment. [Figure 28] 5A and 5B are diagrams illustrating the operation of a current up / down control circuit according to an embodiment. [Figure 29] An explanatory diagram of various control data used to realize movable object control as an embodiment. [Figure 30] An explanatory diagram of an example data structure of reel sub-scenario data in an embodiment. [Figure 31] FIG. 2 is an explanatory diagram illustrating an example of a data structure of division operation management data in the embodiment. [Figure 32] FIG. 2 is an explanatory diagram illustrating an example of a data structure of control command management data according to an embodiment. [Figure 33] FIG. 10 is a diagram showing an example of a work screen for defining an operating part. [Figure 34] 10 is a flowchart showing SOL·MOT output processing in the embodiment. [Figure 35] FIG. 10 is an explanatory diagram of an example of electrical angle control when the rotation direction is CW. [Figure 36]10A and 10B are diagrams illustrating an example of electrical angle control when the rotation direction is CCW. [Figure 37] FIG. 2 is an explanatory diagram illustrating an example of the configuration of a motor driver. [Figure 38] 4 is a flowchart illustrating an example of a processing procedure for realizing electrical angle control according to an embodiment. [Figure 39] FIG. 2 is a circuit block diagram showing an example of the configuration of peripheral circuits of a motor drive control unit in the embodiment. [Figure 40] 5 is a diagram showing a correspondence relationship between an input value to a drive mode terminal and a drive mode in the embodiment. FIG. [Figure 41] 10A and 10B are diagrams illustrating examples of switching of a motor drive current value in response to a current up / down signal. [Figure 42] FIG. 2 is an explanatory diagram of a startup mode control circuit according to an embodiment. [Figure 43] 3A and 3B are explanatory diagrams of an example of a transmission mechanism and backlash in the embodiment. [Figure 44] FIG. 10 is an explanatory diagram of another example of a transmission mechanism in the embodiment. [Figure 45] This is a diagram to explain the decrease in position control accuracy of movable parts due to backlash. [Figure 46] FIG. 10 is an explanatory diagram of an example of a backlash countermeasure when performing a moving object presentation synchronized with a display image. [Figure 47] FIG. 10 is an explanatory diagram of an example of a backlash countermeasure when using an effect object for a movable part. [Figure 48] FIG. 10 is an explanatory diagram of another example of a backlash countermeasure when using an effect object for a movable part. [Figure 49] FIG. 10 is an explanatory diagram of another example of a countermeasure against backlash. [Figure 50] FIG. 10 is an explanatory diagram of yet another example of a countermeasure against backlash. [Figure 51] An explanatory diagram of an example of a method for a performance control board to detect self-reset of a motor drive control unit. [Figure 52] FIG. 2 is a diagram illustrating an example of a register included in a main control CPU. [Figure 53] FIG. 10 is a diagram showing a program corresponding to a first example of use. [Figure 54] FIG. 10 is a diagram showing a program corresponding to a second example of use. [Figure 55] FIG. 10 is a diagram showing table information used in a second usage example. [Figure 56] 1 is a flowchart showing specific processing content executed by a CPU in accordance with a conventional DJNZ instruction. [Figure 57] FIG. 10 is a diagram showing a program in the first use example in which the conventional DJNZ instruction is replaced with the new DJNZ instruction. [Figure 58] FIG. 10 is a diagram showing a program in the second use example in which the conventional DJNZ instruction is replaced with the new DJNZ instruction. [Figure 59] FIG. 10 is a diagram showing table information when the conventional DJNZ instruction is replaced with the new DJNZ instruction in the second use example. [Figure 60] FIG. 10 is an explanatory diagram of an example in which a register for setting the number of loops is newly created. [Figure 61] FIG. 10 is an explanatory diagram of an example in which an existing register is used as a register for setting the number of loops. [Figure 62] FIG. 10 is an explanatory diagram of an example in which a loop flag is provided in place of an unused flag. [Figure 63] FIG. 10 is an explanatory diagram of an example in which a flag that is also used for other purposes among existing flags is set as a loop flag. [Figure 64] 10 is a flowchart showing specific processing contents executed by a CPU in accordance with the new DJNZ instruction. [Figure 65] FIG. 10 is a diagram illustrating a program in which the new DJNZ instruction is used in combination with the conventional DJNZ instruction. [Figure 66] FIG. 66 is a diagram showing an example of a program in which the processing realized by the program of FIG. 65 is realized using only the conventional DJNZ instruction. [Figure 67] FIG. 10 is a diagram for explaining a configuration example of a random number circuit. [Figure 68] FIG. 10 is an explanatory diagram of variable-length random numbers. [Figure 69] 10 is a flowchart showing an example of processing for dealing with an abnormality in the setting of a random number. [Figure 70] FIG. 10 is an explanatory diagram of a technique for allowing both winning and losing results to be selected. [Figure 71] 10 is a flowchart illustrating an example of a process for changing a determination reference value in response to a setting abnormality. [Figure 72] FIG. 10 is a diagram illustrating an example of the circulation of random numbers when the circulation period itself is changed. [Figure 73] 10 is a flowchart illustrating an example of processing for dealing with an abnormality in the setting process when a circulation cycle adjustment type random number generation unit is used. [Figure 74] 10 is a diagram illustrating details of random numbers used in various lottery processes performed in the gaming machine of the embodiment. FIG. [Figure 75] FIG. 10 is a diagram showing a first alternative example of random number allocation. [Figure 76] FIG. 10 is a diagram showing a second alternative example of random number allocation. [Figure 77] FIG. 10 is an explanatory diagram of an example of a control pattern for a special motor. DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, embodiments of the present invention will be described in the following order with reference to the accompanying drawings. <1. Structure of the gaming machine> <2. Control configuration of gaming machine> [2.1 Main control board] [2.2 Performance control board] <3. Overview of operation> [3.1 Game Status] [3.2 Game with changing symbols] [3.3 About the jackpot] [3.4 Production] <4. Processing the main control board> [4.1 Main control side main processing] [4.2 Main control side timer interrupt processing] <5. Processing of the performance control board> [5.1 Main processing on the performance control side] [5.2 Performance control timer interrupt processing] <6. Control of Movable Objects as an Embodiment> [6.1 Overview of the control method as an embodiment] [6.2 Motor drive control unit] [6.3 Control data creation method as an embodiment] [6.4 Movable object control processing as an embodiment] (6.4.1 Processing Flow) (6.4.2 Microstep drive) (6.4.3 Use of pre-registers) [6.5 Current value switching as an embodiment and measures to prevent motor malfunction at start-up] [6.6 Measures to prevent parts from falling when starting up] [6.7 Backlash Countermeasures] [6.8 Other configuration examples] <7. Loop Processing as an Embodiment> [7.1 Conventional DJNZ Instructions] [7.2 New DJNZ Instruction] <8. Processing related to random numbers> [8.1 Handling configuration abnormalities] [8.2 Response to consecutive wins] <9. Variations>

[0010] <1. Structure of the gaming machine> The overall structure of a gaming machine 1 according to an embodiment of the present invention will be described with reference to Figures 1 and 2. Figure 1 is a perspective view showing the appearance of the gaming machine 1 according to an embodiment of the present invention, and Figure 2 is a perspective view of the gaming machine 1 according to the embodiment when the front frame 4 is opened.

[0011] As shown in Figures 1 and 2, the gaming machine 1 comprises a wooden outer frame 2, an inner frame 3 attached to the outer frame 2 by a hinge mechanism so that it can be opened and closed, and a front frame 4 attached to the inner frame 3 by a hinge mechanism so that it can be opened and closed. The inner frame 3 is formed in a picture frame shape and holds inside the game board 5. On the back side of the game board 5, various control boards (see FIG. 5) for controlling game operations are arranged.

[0012] The front frame 4 holds a transparent glass 6 in the center, and a side unit 7 is provided so as to surround the periphery of the transparent glass 6 entirely or partially. The side unit 7 itself is given a decorative shape that matches the theme of the gaming machine 1, and may be equipped with LEDs, gadgets, and other presentation elements inside, thereby creating a presentation effect that conveys the atmosphere of the game to the player. This side unit 7 is a unit that is attached to the front frame 4 in an interchangeable manner.

[0013] A key cylinder (not shown) for unlocking the door is provided on the front side of the front frame 4; by inserting a key into this key cylinder and operating it to one side, the locked state of the front frame 4 relative to the inner frame 3 is released, allowing the front frame 4 to be opened to the front; and by operating it to the other side, the locked state of the inner frame 3 relative to the outer frame 2 is released, allowing the inner frame 3 to be opened to the front.

[0014] A front operation panel 8 is disposed below the front frame 4. An upper tray unit 9 is provided on the front operation panel 8, and this upper tray unit 9 is formed with an upper tray 10 for storing discharged game balls.

[0015] The upper tray unit 9 also has a ball lending button 11 for requesting the game ball lending device (not shown) to dispense game balls, a card return button 12 for requesting the return of a valuable medium inserted into the game ball lending device, and a ball removal button 13 for removing game balls stored in the upper tray 10 below the gaming machine 1.

[0016] The upper tray unit 9 is also provided with an operation unit 14 (see FIG. 5) that is configured to be operable by the player. The operation unit 14 is configured to include an effect button 14a, a cross key 14b, and a decision button 14c. The effect button 14a becomes operable (input acceptable) when a built-in lamp (button LED 49) lights up during a predetermined input acceptance period, and it is possible to bring about a change in the effect by performing a predetermined operation (pressing, tapping repeatedly, pressing and holding, etc.) while the built-in lamp is lit. The cross key 14b is an operator that allows a user such as a player or hall staff to select various items, give direction instructions, etc. The enter button 14c is an operator that gives an instruction to enter a selected item.

[0017] A firing operation handle 15 for operating a firing device 44 (see FIG. 5) is provided on the right end side of the front operation panel 8.

[0018] A plurality of decorative lamps 16 (for example, full-color LEDs for light presentation) that create a light presentation effect through light decoration are provided in appropriate positions on the front frame 4. A plurality of these decorative lamps 16 are provided around the gaming machine 1, for example, on the periphery of the front frame 4 or inside the side unit 7.

[0019] In addition, speakers 17 that produce sound effects (sound effects) through acoustics are provided on both sides of the upper part of the inner frame 3 and on the upper side of the firing operation handle 15. The plurality of speakers 17 allows so-called stereophonic sound reproduction or multi-channel sound reproduction for sounds related to the performance.

[0020] Next, the configuration of the game board 5 will be described with reference to Fig. 3. Fig. 3 is a front view of the game board 5. The illustrated game board 5 has a ball guide rail 18 attached in a ring shape as a board surface partition member to guide the launched game balls, and the approximately circular area surrounded by this ball guide rail 18 is the game area 19, while the four corners are non-game areas. The game area 19 is a space formed between the game board 5 and the transparent glass 6, and is an area where game balls can flow down.

[0021] Approximately in the center of this game area 19, there is provided a liquid crystal display device (LCD) 20 which is capable of independently displaying (displaying changes and stopping) multiple types of decorative patterns (for example, left pattern (corresponding to the left display area), middle pattern (corresponding to the middle display area), right pattern (corresponding to the right display area)) using numbers, characters, symbols, etc. in, for example, three (left, middle, right) display areas (pattern change display areas). This liquid crystal display device 20 displays various effects as images in addition to the variable display operation of decorative symbols under the control of an effect control board 41 described later.

[0022] In addition, a center ornament 21 is provided in the center of the game area 19, surrounding the display surface of the liquid crystal display device 20 at a distance. The center ornament 21 is provided along the front side of the game board 5, and protects the display surface of the liquid crystal display device 20 from collision with game balls, and also functions as a flow path distribution means that enables the flow path of game balls to be distributed to the left or right depending on the strength or stroke length of the game balls. In this embodiment, the center ornament 21 is placed approximately in the center of the play area 19, dividing the play area 19 into a left play area 19a and a right play area 19b on the left and right sides. A game ball launched by the launching device 44 with a launch strength less than a predetermined value flows down the left play area 19a, and a game ball launched with a launch strength equal to or greater than the predetermined value flows down the right play area 19b.

[0023] The non-play area at the bottom of the game board 5 is a display area for various functions, and is provided with a special symbol display device 22a and a special symbol display device 22b using dot displays. The various function display sections including the special symbol display devices 22a and 22b are shown enlarged in FIG.

[0024] The special symbol display devices 22a and 22b are configured to execute a special symbol variable display game by varying the display of "special symbols" represented by dot displays. The liquid crystal display device 20 displays decorative symbols in a variable manner in synchronization with the variable display of special symbols by the special symbol display devices 22a and 22b, and executes a decorative symbol variable display game together with various preview effects (effect images).

[0025] The various function display section also includes a composite display device 22c, which is made up of a dot display device similar to the special symbol display devices 22a and 22b. It is called a composite because it is a reserved / time-saving / high-probability composite display device (hereinafter simply referred to as a "composite display device") that has five display functions: displaying the first special symbol (hereinafter the first special symbol will be referred to as "special symbol 1" and sometimes abbreviated as "special symbol 1"), the second special symbol (hereinafter the second special symbol will be referred to as "special symbol 2" and sometimes abbreviated as "special symbol 2"), the number of reserved balls for normal symbols, and notifying the status during the time-saving state and the high-probability state.

[0026] The various function display section is also provided with a composite display device 22d, which is also made up of dot displays. In this composite display device 22d, a round number display is performed to notify the specified number of rounds (maximum number of rounds) related to a big win by combining the on / off states of the four LEDs. In addition, in the composite display device 22d, a normal symbol variable display game is executed by a variable display operation of a normal symbol represented by one LED as a normal symbol display. The composite display device 22d also has three LEDs that indicate a right-hit display, which indicates that it is more advantageous for the player to shoot the game ball toward the right game area 19b than to shoot the game ball toward the left game area 19a.

[0027] A first start hole 23 is provided in the center of the game board 5 and below the liquid crystal display device 20. Inside the first start hole 23, a first start hole detection sensor 23a (see FIG. 5) is provided to detect the passage of a game ball. Further, a second starting hole 24 is provided in the right game area 19b, and a second starting hole detection sensor 24a (see FIG. 3) that detects the passage of a game ball is provided inside the second starting hole 24.

[0028] The first start opening 23 is a winning opening related to the starting conditions for the variable display operation of the special symbol 1 in the special symbol display device 22a, and is configured as a fixed start opening without a start opening opening opening means (means for opening or enlarging the start opening). In this embodiment, due to the action of a game ball fall direction changing member (for example, a game nail, a windmill, a center ornament 21, etc.) in the game area 19, the first start opening 23 is configured so that game balls rolling in the left game area 19a can easily enter, but game balls rolling in the right game area 19b cannot easily enter.

[0029] The second starting port 24 is a winning port related to the starting conditions for the variable display operation of the special pattern 2 in the special pattern display device 22b, and is configured as a variable starting port whose opening and closing is controlled by the ordinary electric device 25. The normal electric device 25 is controlled to an open state that allows game balls to enter the second starting hole 24, and a closed state that makes it difficult or impossible for game balls to enter the second starting hole 24. In this embodiment, the second starting hole 24 is provided in the right playing area 19b, and only game balls that have rolled through the right playing area 19b can enter, but game balls that have rolled through the left playing area 19a may also be able to enter.

[0030] In addition, above the second starting opening 24, that is, above the middle of the right game area 19b, there is provided a normal symbol gate 26 through which game balls can pass. This normal symbol gate 26 is a winning opening related to the variable display operation of the normal symbol on the composite display device 22d, and inside it is provided a normal symbol gate detection sensor 26a (see FIG. 5) that detects game balls passing through. In this embodiment, the normal symbol gate 26 is provided only in the right game area 19b, and only game balls that have rolled through the right game area 19b can enter. However, the present invention is not limited to this, and the normal symbol gate 26 may be provided only in the left game area 19a, or may be provided in both.

[0031] A first large prize opening 27 and a second large prize opening 28 are provided below the second starting opening 24 in the right gaming area 19b. The first large prize opening 27 and the second large prize opening 28 are arranged in positions that allow only gaming balls rolling in the right gaming area 19b to enter. However, the first large prize opening 27 and the second large prize opening 28 may be arranged to allow only gaming balls that have rolled in the left gaming area 19a to enter, or may be arranged to allow gaming balls that have rolled in the left gaming area 19a and the right gaming area 19b to enter. The first large prize opening 27 is controlled to open and close by a first special electric device 29. The first special electric device 29 is controlled to an open state that allows a game ball to enter the first large prize opening 27, and a closed state that makes it difficult or impossible for a game ball to enter the first large prize opening 27. The second large prize opening 28 is controlled to open and close by a second special electric device 30. The second special electric device 30 is controlled to an open state that allows game balls to enter the second large prize opening 28, and a closed state that makes it difficult or impossible for game balls to enter the second large prize opening 28. Inside the first large prize opening 27 and the second large prize opening 28, there are provided a first large prize opening detection sensor 27a and a second large prize opening detection sensor 28a (see FIG. 5) respectively, which detect the passage of gaming balls.

[0032] A plurality of general winning holes 31 are provided on the left and right lower sides of the game area 19, and a general winning hole detection sensor 31a (see FIG. 5) is provided inside each of the general winning holes 31 to detect the passage of game balls.

[0033] Also, within the area of ​​the game board, a movable accessory 50 that produces a visual effect is arranged at a position that does not interfere with the rolling of the game ball. The gaming machine 1 of this example has two movable body devices 50, a movable body device 50x and a movable body device 50y. In the non-performance state, these movable body devices 50x and 50y are arranged in positions (shielded positions) that are shielded by other members when viewed from a player facing the gaming machine 1, and are not visible to the player. In the performance state, these movable body role devices 50x, 50y are driven by role motors 53x, 53y, which will be described later, and are displaced from the above-mentioned shielding position, as shown in Fig. 4, so that they become visible to the player. Here, as the displacement mode of the movable body role devices 50x, 50y, a displacement mode in which they are positioned on the liquid crystal display device 20 in the performance state is exemplified, but the displacement mode of the movable body role device 50 is not limited to this and various other modes are conceivable.

[0034] In this example, the movable body role object 50x is a movable body role object 50 whose shielding position is below the liquid crystal display device 20 and which is displaced upward from the shielding position in the performance state. On the other hand, the movable body role object 50y is a movable body role object 50 whose shielding position is set above the liquid crystal display device 20 and which is displaced downward from the shielding position in the performance state.

[0035] In addition, in the gaming machine 1 of this embodiment, when a gaming ball enters one of the various winning holes provided in the gaming area 19, the number of prize balls set for the winning hole into which the gaming ball entered (for example, three for the first starting hole 23, one for the second starting hole 24, fifteen for the first large winning hole 27 and the second large winning hole 28, and five for the general winning hole 31) is paid out from the gaming ball payout device 46 (see FIG. 5). Gaming balls that do not enter any of the above winning holes are discharged from the gaming area 19 through the outlet 32.

[0036] <2. Control configuration of gaming machine> Fig. 5 is a block diagram showing the control configuration of the gaming machine 1. The configuration (control configuration) for realizing the gaming operation control of the gaming machine 1 will be described with reference to the block diagram of Fig. 5. The gaming machine 1 of this embodiment is configured to have a main control board 40 that is responsible for overall control of all gaming operations (gaming operation control), a presentation control board 41 that receives presentation control commands from the main control board 40 and is responsible for overall control of the execution of presentations by the presentation means, and a payout control board 42 that controls the payout of prize balls.

[0037] [2.1 Main control board] The main control board 40 is equipped with a microprocessor that incorporates a CPU (Central Processing Unit) 40a (main control CPU), as well as a ROM (Read Only Memory) 40b (main control ROM) that stores a control program that describes the game operation control procedures, as well as various data necessary for game operation control, and a RAM (Random Access Memory) 40c (main control RAM) that functions as a work area and buffer memory, and as a whole constitutes a microcomputer. The main control board 40 also includes a random number circuit 40d that generates random numbers.

[0038] Furthermore, although not shown in the figure, the main control board 40 also includes a CTC (Counter Timer Circuit) for realizing periodic interrupts, a function for generating pulse output at a fixed period (bit rate generator), and a time measurement function, an interrupt controller circuit that performs interrupt enable / disable functions such as timer interrupts that issue interrupt signals to the CPU 40a, a reset circuit that can detect when the power is turned on or off or when there is a power abnormality and output a system reset signal to reset the CPU 40a, a watchdog timer (WDT) circuit that monitors for abnormal operation of the control program, and an Inhibit Running Outside Designated Area (IAT) circuit that monitors whether the program is being executed correctly within a preset address range.

[0039] In this example, the random number circuit 40d provided in the main control board 40 generates random numbers using a number circulation method. Here, the "numerical value circulation method" is a method of obtaining random numbers by repeating the operation of circulating values ​​within a predetermined numerical range at a predetermined cycle and sampling the circulated values ​​at arbitrary timing. "Circulating" here means generating each value within a specified numerical range once within one cycle, and is not limited to incrementing (or decrementing) values ​​by one within the specified numerical range.

[0040] In the gaming machine 1, the random numbers generated by the random number circuit 40 are used for various lottery processes. Specifically, in this example, the random numbers generated by the random number circuit 40 are used for the lottery of a jackpot, the lottery of a special symbol, the lottery of a variation pattern of a special symbol, and the lottery of a normal symbol. The random number circuit 40d will be described in detail later.

[0041] The main control board 40 is connected to a first start gate detection sensor 23a that detects balls entering the first start gate 23, a second start gate detection sensor 24a that detects entries into the second start gate 24, a normal symbol gate detection sensor 26a that detects passage through the normal symbol gate 26, a first large prize gate detection sensor 27a that detects entries into the first large prize gate 27, a second large prize gate detection sensor 28a that detects entries into the second large prize gate 28, a general prize gate detection sensor 31a that detects entries into the general prize gate 31, and an OUT monitoring sensor 32a that detects game balls (out balls) discharged from the game area 19, and the main control board 40 is capable of receiving detection signals output from these sensors. Based on the detection signals from each sensor, the main control board 40 is able to determine which prize gate the game ball has entered.

[0042] In addition, the main control board 40 is connected to a normal electric role solenoid 25a that operates the normal electric role 25 that opens and closes the second starting opening 24, a first special electric role solenoid 29a that operates the first special electric role 29 that opens and closes the first large winning opening 27, and a second special electric role solenoid 30a that operates the second special electric role 30 that opens and closes the second large winning opening 28, and the main control board 40 is capable of transmitting control signals to control these.

[0043] The special symbol display device 22a and the special symbol display device 22b are connected to the main control board 40, and the main control board 40 is capable of transmitting control signals for controlling the display of the special symbols 1 and 2. In addition, composite display device 22c and composite display device 22d are connected to main control board 40, and main control board 40 is capable of transmitting control signals for controlling the display of various information displayed on composite display device 22c and composite display device 22d.

[0044] A RAM clear switch 34 is connected to the main control board 40, and the main control board 40 is capable of receiving a detection signal from the RAM clear switch 34. The RAM clear switch 34 is provided at a predetermined position inside the gaming machine 1. For example, it may be disposed on the main control board 40.

[0045] The RAM clear switch 34 is, for example, a push button switch for inputting an instruction to initialize a predetermined area of ​​the RAM 40c. The RAM clear switch 34 is turned on / off in response to the operation of a RAM clear button that is operable when the front frame 4 is open.

[0046] Furthermore, the main control board 40 is connected to a performance indicator 35 . The performance indicator 35 is configured to have, for example, a seven-segment display, and functions as a display means capable of displaying performance information, which will be described later. The performance indicator 35 is mounted, for example, in an easily visible position on the main control board 40. The main control board 40 is capable of transmitting a control signal to the performance display 35 to cause the performance information to be displayed.

[0047] A payout control board 42 is connected to the main control board 40, and when it is necessary to pay out prize balls, a control command regarding the payout (a payout control command specifying the number of prize balls) can be sent to the payout control board 42.

[0048] In addition, an external centralized terminal board 43 for the frame is connected to the main control board 40 via a payout control board 42, making it possible to transmit specified game information (e.g., jackpot information, number of winning balls information, pattern change execution information, etc.) to an externally installed hall computer HC. The hall computer HC is an information processing device (computer device) that monitors game information from the main control board 40 and comprehensively manages the operating status of the gaming machines in the pachinko hall.

[0049] A launch control board 45 that controls the launch device 44 and a game ball payout device 46 that pays out game balls are connected to the payout control board 42. Furthermore, a ball lending machine 70 is connected to the payout control board 42. The ball lending machine 70 is provided outside the gaming machine 1, and executes processing to cause the payout control board 42 to execute the ball lending operation. The main roles of the payout control board 42 are to receive payout control commands from the main control board 40, control the payout of prize balls from the game ball payout device 46 based on the payout control commands, send status signals to the main control board 40, and control the payout control board 42 for ball lending operations based on the communication results with the ball lending machine 70.

[0050] The game ball payout device 46 is provided with a supply shortage detection sensor 46a that detects a shortage of game balls and a ball counting sensor 46b that detects the game balls (prize balls) to be paid out, and the payout control board 42 is capable of receiving these detection signals. The game ball payout device 46 is also provided with a payout motor 46c that drives a ball payout mechanism (not shown) for paying out game balls, and the payout control board 42 is capable of transmitting a control signal for controlling the payout motor 46c.

[0051] The payout control board 42 is connected to a fullness detection sensor 47 that detects whether the upper tray 10 is full of game balls, and a front door open sensor 48 that detects whether the front frame 2 is open.

[0052] The payout control board 42 can transmit various status signals to the main control board 40 based on detection signals from the full detection sensor 47, front door open sensor 48, out-of-supply detection sensor 46a, and ball count sensor 46b. These status signals include a ball jam signal indicating a full state, a door open signal indicating that at least the front frame 2 is open, an out-of-supply signal indicating a shortage of game balls from the game ball payout device 46, a count error signal indicating a shortage of prize balls or an abnormality in the ball count sensor 46b, and a payout completion signal indicating the completion of the payout operation. Based on these status signals, the main control board 40 monitors the open state of the front frame 2 (door open error), whether the payout operation of the game ball payout device 46 is normal (out-of-supply error), and the full state of the upper tray 10 (ball jam error).

[0053] The payout control board 42 is also capable of transmitting an authorization signal to the launch control board 45 to authorize launch. Based on the authorization signal output from the payout control board 42, the launch control board 45 controls the energization of a launch solenoid (not shown) provided in the launch device 44, thereby realizing the launch of game balls by operating the launch operation handle 15. Specifically, the launch of game balls is permitted under the following conditions: a launch authorization signal is output from the payout control board 42 (launch authorization signal ON state), a touch sensor (not shown) provided on the launch operation handle 15 detects that the player is touching the handle, and a launch stop switch (not shown) provided on the launch operation handle 15 has not been operated. Therefore, when the launch authorization signal is not output (launch authorization signal OFF state), the launch operation is not executed even if the launch operation handle 15 is operated, and no game balls are launched. Furthermore, the launch strength of the game balls can be changed depending on the amount of operation of the launch operation handle 15. Furthermore, when the payout control board 42 detects the above-mentioned ball jam error, it sends a ball jam signal to the main control board 40 and stops outputting the launch permission signal to the launch control board 45 (launch permission signal OFF), and controls the firing operation to stop until the upper tray 10 is no longer full. In addition, the payout control board 42 outputs a launch permission signal to the launch control board 45 on the condition that the main control board 40 has instructed the launch permission.

[0054] (About performance indication) The main control board 40 is capable of transmitting a control signal to the performance display 35 to cause the performance display 35 to display predetermined performance information. Performance information is information that pachinko halls and relevant authorities want to confirm, and typical examples include information regarding the presence or absence of illegal prize ball cheating, such as excessive prize balls in the gaming machine 1, and the original ball output performance of the gaming machine 1. Therefore, unlike preview effects, the performance information itself is information that is not directly related to the progress of the game itself when a player is enjoying the game.

[0055] For this reason, the performance display 35 is provided inside the gaming machine 1, for example, on the main control board 40, payout control board 42, launch control board 45, relay board, presentation control board 41, or board case (protective cover that protects the board), in a position where the display information can be seen when the front frame 2 is in the open state.

[0056] Here, the performance information may specifically include the following information: (1) Information (specific ratio information) based on the value (α / β) obtained by dividing the total number of payout balls paid out as a result of winning during a specific state (total number of prize balls during a specific state: α) by the total number of balls discharged from the game area 19 during the specific state (number of balls discharged during a specific state: β) can be adopted as performance information. The above "total number of payouts" refers to the total value of game balls (prize balls) paid out when a ball wins at the winning slots (first starting slot 23, second starting slot 24, general winning slot 31, first large winning slot 27, second large winning slot 28). Furthermore, the state to be adopted as the specific state can be determined appropriately depending on the state under which performance information is desired to be grasped. In the case of this embodiment, any of a plurality of game states and a state during a jackpot game can be adopted. Furthermore, multiple types of states may be used as the measurement target. For example, all game states except for a jackpot game can be used, and the type to be measured can be determined appropriately. In addition, the total number of payouts may be calculated by excluding one or more specific winning ports from the measurement target (total number of payouts excluding specific winning ports). For example, the total number of payouts may be calculated by excluding the first large winning port 27 and the second large winning port 28 from the measurement target among the winning ports.

[0057] (2) Alternatively, the total number of payouts, the total number of payouts excluding specific winning slots, or the total number of balls that have been released may be measured, and the measurement results may be used as performance information.

[0058] In this embodiment, the total number of dispensed balls in the normal state (number of dispensed balls in normal state) and the total number of balls out in the normal state (number of balls out in normal state) are measured in real time, and the value obtained by dividing the number of dispensed balls in normal state by the number of balls out in normal state and multiplying this value by 100 (the value calculated by: number of dispensed balls in normal state ÷ number of balls out in normal state × 100) is displayed as performance information (hereinafter referred to as "normal state ratio information"). Note that the displayed value in this case is rounded to one decimal place. Therefore, the data on the number of payouts during normal play, the number of out balls during normal play, and the normal play ratio information are stored (memorized) in the corresponding areas of RAM 40c (the storage area for the total number of prize balls during specific play, the storage area for the number of out balls during specific play, and the specific ratio information storage area). However, rather than simply measuring continuously and displaying performance information, measurement is temporarily terminated when the total number of out balls reaches a predetermined number (e.g., 60,000). This specified number is not the total number of out balls during normal play, but the total number of out balls during all play states (including win play) (hereinafter referred to as the "number of out balls in all states"). This number of out balls in all states is also measured in real time and stored in the corresponding areas of RAM 40c (the storage area for the number of out balls in all states). For ease of explanation, the storage area for the total number of prize balls during specific play, the storage area for the number of out balls during specific play, the specific ratio information storage area, and the storage area for the number of out balls in all states will be abbreviated as the "measurement information storage area."

[0059] Then, the normal time ratio information at the end point is stored in a predetermined area (performance display storage area) of RAM 40c (the current normal time ratio information is stored), and then the measurement information storage area (the number of payouts in normal time, the number of balls out in normal time, and the number of balls out in all states) is cleared, and measurement begins again (measurement of the number of payouts in normal time, the number of balls out in normal time, the normal time ratio information, and the number of balls out in all states begins).The setting and performance display 35 then displays the previous normal time ratio information (measurement history information) and the normal time ratio information currently being measured. Note that the configuration is not limited to the previous information, and history from the time before that or the time before that (three times before) may also be displayed, and the number of previous times of information to be displayed can be determined as appropriate.

[0060] (Performance control command) Depending on the processing status, the main control board 40 can transmit various presentation control commands, including information about the special symbol variation display game and information about errors, to the presentation control board 41. However, in order to prevent fraudulent activities such as cheating, the main control board 40 is configured for one-way communication, in which it only transmits signals to the presentation control board 41 and cannot receive signals from the presentation control board 41.

[0061] Here, the performance control command defines its function using a two-byte structure consisting of a one-byte mode (MODE) and a one-byte event (EVENT). To distinguish between MODE and EVENT, Bit 7 of MODE is ON and Bit 7 of EVENT is OFF. When this information is transmitted as valid, a strobe signal is output corresponding to each mode (MODE) and event (EVENT). That is, when there is a command to transmit, the CPU 40a (main control CPU) sets and outputs mode (MODE) information for transmitting the command to the performance control board 41, and transmits the first strobe signal a predetermined time after this setting. Furthermore, after a predetermined time has passed since transmitting this strobe signal, it sets and outputs event (EVENT) information, and transmits a second strobe signal a predetermined time after this setting. The strobe signal is controlled to an active state by the CPU 40a for a predetermined period of time to ensure that the CPU 41a (performance control CPU) can receive commands reliably.

[0062] [2.2 Performance control board] The performance control board 41 is comprised mainly of a microcomputer equipped with a microprocessor incorporating a CPU 41a, a ROM 41b storing performance data required for performance control processing, and a RAM 41c that functions as a work area and buffer memory. In addition, it is equipped with an audio control unit (sound source IC), an RTC (Real Time Clock) function unit, a counter circuit, an interrupt controller circuit, a reset circuit, a WDT circuit, etc., which control the overall performance operation.

[0063] The CPU 41a performs calculations for various performance operations and controls each performance means based on the performance control program and performance control commands received from the main control board 40. In the case of the gaming machine 1 of this embodiment, the performance means are the liquid crystal display device 20, the optical display device 16a, the sound generating device 17a, and the movable device 50.

[0064] The ROM 41b stores a control program for the performance operation by the CPU 41a and various data required for performance operation control. The RAM 41c is used as a work area used by the CPU 41a for various arithmetic processing, a table data area, a buffer area for various input / output data and processing data, and the like. The performance control board 41 is configured to have, for example, a one-chip microcomputer and its peripheral circuits mounted thereon, but various configurations of the performance control board 41 are conceivable. For example, in addition to the microcomputer, it may also have an interface circuit with each section, a random number generation circuit that generates random numbers for lottery use in performances, a CTC for counting various times, a watchdog timer (WDT) circuit, an interrupt controller circuit that gives an interrupt signal to the CPU 41a, and the like.

[0065] The main roles of this performance control board 41 are to receive performance control commands from the main control board 40, select and decide on performances based on the performance control commands, control the display of the liquid crystal display device 20 (supply of display data), control the sound output of the sound generating device 17a, control the light emission of the light display device 16a (LED), and control the operation of the movable prop 50.

[0066] This performance control board 41 also functions as a control device for the liquid crystal display device 20, so the performance control board 41 also has the functions of a so-called VDP (Video Display Processor), image ROM, and VRAM (Video RAM), and the CPU 41a also functions as a liquid crystal control unit. VDP refers to the function that controls all video output processes, such as image expansion and image drawing. Image ROM refers to memory that stores image data that the VDP uses for image development processing. VRAM is an image memory area that temporarily stores image data developed by the VDP.

[0067] With this configuration, the performance control board 41 generates various image data based on performance control commands from the main control board 40 and outputs it to the liquid crystal display device 20. As a result, various performance images are displayed on the liquid crystal display device 20.

[0068] The performance control board 41 also has an audio control section for an audio generating device 17 a including a plurality of speakers 17 , and the audio signals output by the audio control section are amplified by an amplifier section 17 b and supplied to the speakers 17 . In addition, the performance control board 41 is connected to a lamp driver unit 16b that functions as a light display control unit for the light display device 16a including the decorative lamps 16 and various LEDs, and a motor drive control unit 51 that controls the operation of the movable body role device 50 (in this example, movable body role devices 50x, 50y). The performance control board 41 issues instructions to the lamp driver unit 16b and the motor drive control unit 51 to control the light display operation by the light display device 16a and the operation of the movable body role device 50.

[0069] Here, the gaming machine 1 is provided with a reel motor group 53 consisting of a plurality of reel motors (reel motors 53x, 53y described later) for driving each movable reel 50, and a motor driver group 52 consisting of a plurality of motor drivers (motor drivers 52x, 52y described later) that perform drive control for each reel motor in the reel motor group 53. However, in the gaming machine 1 of this embodiment, the performance control board 41 is not configured to directly control each motor driver in the motor driver group 52, but rather is configured to control the operation of each motor driver via the motor drive control unit 51. The details of the movable object control as an embodiment performed via the motor drive control unit 51 in this manner will be explained later.

[0070] In this embodiment, for example, a bipolar motor is used for each of the accessory motors in the accessory motor group 53.

[0071] The origin switch group 54 collectively represents a plurality of origin switches for determining whether each movable body reel 50 is at its origin position, and the position sensor group 55 collectively represents position sensors (position sensors 55x, 55y described below) provided for each movable body reel 50 to detect the operating position of each movable body reel 50 (e.g., the amount of movement from the origin position).

[0072] In the gaming machine 1 of this embodiment, the detection signals from the position sensors in the position sensor group 55 are input to the motor drive control unit 51 rather than the performance control board 41. As will be described later, the motor drive control unit 51 is capable of performing control operations such as moving the movable prop 50 to the sensor position and stopping it in response to input from the position sensor, based on instructions from the performance control board 41.

[0073] In the origin switch group 54, each origin switch is composed of, for example, a photointerrupter, and detects whether the corresponding movable body accessory 50 is at the origin position. The origin position may be, for example, the shielded position described with reference to FIG. 4. The performance control board 41 is capable of determining whether the movable body role object 50 is at the origin position based on the detection signal of the origin switch in the origin switch group 54. Based on the result of this determination, the performance control board 41 is capable of performing origin return processing to return each movable body role object 50 to the origin position.

[0074] In addition, operation detection switches for the performance button 14a, cross key 14b, and decision button 14c, which are shown as the operation unit 14, are connected to the performance control board 41, and the performance control board 41 is capable of receiving operation detection signals from the performance button 14a, cross key 14b, and decision button 14c, respectively.

[0075] Furthermore, the performance control board 41 is provided with a handle sensor 56 (touch sensor) for detecting whether or not the firing operation handle 15 shown in Fig. 1 is being touched by a player. Based on the detection information of this handle sensor 56, the performance control board 41 is able to determine whether or not the firing operation handle 15 is being touched by a user.

[0076] Based on the performance control command sent from the main control board 40, the performance control board 41 selects (determines) a performance pattern by lottery or uniquely from a plurality of types of performance patterns prepared in advance, and controls various performance means at the required timing to produce the desired performance. This realizes the display of a performance image by the liquid crystal display device 20 corresponding to the performance pattern, the reproduction of sound from the speaker 17, the lighting and flashing of the decorative lamps 16 and LEDs, and the chronological development of various performance patterns (such as decorative symbol variation display operations and preview performances), thereby realizing a "performance scenario" in the broad sense.

[0077] Here, for the performance control command, the performance control board 41 (CPU 41a) generates an interrupt process based on the input of the above-mentioned strobe signal transmitted by the main control board 40 (CPU 40a) and receives and analyzes the command. Specifically, the CPU 41a executes a control program for command reception interrupt processing based on the input of the above-mentioned strobe signal, and in the interrupt processing realized by this, obtains the performance control command and analyzes the command content. In this case, when an interrupt occurs based on the input of a strobe signal, the CPU 41a interrupts the interrupt processing based on another interrupt (a timer interrupt processing executed periodically) even if that processing is in progress, and performs the command reception interrupt processing, and even if another interrupt occurs at the same time, the command reception interrupt processing is performed with priority.

[0078] <3. Overview of operation> Next, an outline of the gaming operation of the gaming machine 1 realized by the above-described control configuration (FIG. 5) will be described.

[0079] [3.1 Game Status] The gaming machine 1 according to this embodiment is configured to be able to set a plurality of game states in addition to the jackpot game, which is a special game state. To facilitate understanding of this embodiment, first, various game states will be described.

[0080] In the gaming machine 1 of this embodiment, a game progresses in either a gaming state that combines either a low probability state or a high probability state with either a non-time-shortening state or a time-shortening state.

[0081] The low probability state is a state in which the probability of winning the jackpot lottery described below is relatively low, and the high probability state is a state in which the probability of winning the jackpot lottery is relatively high. The non-time-shortening state is a state in which it is relatively difficult for a gaming ball to enter the second starting hole 24, and the time-shortening state is a state in which it is relatively easy for a gaming ball to enter the second starting hole 24. In this embodiment, the opening time of the second starting hole 24 when a normal winning lottery described below is won is set longer in the time-shortening state than in the non-time-shortening state. However, if it is easier for a gaming ball to enter the second starting hole 24 in the time-shortening state than in the non-time-shortening state, the time-shortening state may, for example, have a higher probability of winning the normal winning lottery or a shorter fluctuation time of the normal symbol than in the non-time-shortening state.

[0082] In this embodiment, the "normal state" refers to a low probability state and a non-time-saving state, and corresponds to the initial state.

[0083] [3.2 Game with changing symbols] (Regarding special drawings) In the gaming machine 1, when a gaming ball enters the first starting hole 23 or the second starting hole 24, that is, when a detection signal is input from the first starting hole detection sensor 23a or the second starting hole detection sensor 24a, random numbers related to the special pattern change display game described below (random numbers for determining a jackpot, random numbers for determining special patterns, random numbers for change patterns) are obtained, and these random numbers are stored as reserved data in the special pattern reserved memory area of ​​RAM 40c up to a predetermined upper limit value, which is the maximum reserved memory number (for example, a maximum of 4). This special drawing reserve memory area is provided with special drawing reserve memory areas corresponding to the special drawing 1 side and the special drawing 2 side, that is, a special drawing 1 reserve memory area and a special drawing 2 reserve memory area.

[0084] These special symbol reserved memory areas are provided with reserved 1 memory area to reserved n memory area (n is the maximum reserved memory number: in this embodiment, n=4), and each is capable of storing reserved data up to the maximum reserved memory number. Note that the maximum reserved memory numbers of the special symbol 1 reserved memory area and the special symbol 2 reserved memory area are not particularly limited. In addition, all or part of the maximum reserved memory numbers of each symbol may be different, and the number can be determined appropriately depending on the gameplay. The game balls related to the reserved data stored in this special chart reserved memory area are also called “reserved balls.” To make the number of reserved balls clear to the player, the dot indicators corresponding to the number of reserved balls in special chart 1 and special chart 2 on the composite display device 22c are lit, or the reserved indicators provided as icon images on the screen of the liquid crystal display device 20 are lit.

[0085] (Special pattern change display game) In the gaming machine 1 of this embodiment, a "jackpot lottery" is conducted by random number lottery on the main control board 40 based on a predetermined starting condition, specifically, based on a game ball entering (winning) the first starting hole 23 or the second starting hole 24. Based on the result of the jackpot lottery, the main control board 40 variably displays special symbols 1 and 2 on the special symbol display devices 22a and 22b to start the special symbol variable display game, and after a predetermined variation time has elapsed, displays the result on the special symbol display devices 22a and 22b, thereby ending the special symbol variable display game. Unless otherwise necessary, "special symbol 1" and "special symbol 2" will be simply referred to as "special symbols" (sometimes abbreviated as "special symbols").

[0086] Here, in this embodiment, the jackpot lottery for special symbol 1 based on winning the first starting hole 23 and the jackpot lottery for special symbol 2 based on winning the second starting hole 24 are conducted separately and independently. For this reason, the jackpot lottery result for special symbol 1 is displayed on the special symbol display device 22a, and the jackpot lottery result for special symbol 2 is displayed on the special symbol display device 22b. Specifically, on the condition that a gaming ball has entered the first starting hole 23, the special symbol 1 is displayed in a variable manner to start the first special symbol variable display game, while on the other hand, on the condition that a gaming ball has entered the second starting hole 24, the special symbol 2 is displayed in a variable manner to start the second special symbol variable display game. Then, when the special pattern variable display game is started on the special pattern display device 22a or the special pattern display device 22b, after a predetermined variable time has elapsed, if the result of the jackpot lottery is a "jackpot", the special pattern being displayed in a static state will be displayed in a predetermined "jackpot" mode, or in a predetermined "miss" mode otherwise, thereby announcing the game result (jackpot lottery result).

[0087] For ease of explanation, the first special symbol variable display game on the special symbol display device 22a side will be referred to as "special symbol variable display game 1," and the second special symbol variable display game on the special symbol display device 22b side will be referred to as "special symbol variable display game 2." Furthermore, "special symbol variable display game 1" and "special symbol variable display game 2" will be simply referred to as "special symbol variable display games."

[0088] If the result of the jackpot lottery is a "jackpot," that is, if the special pattern change display game ends and as a result the special pattern is displayed stationary in a "jackpot" mode on the special pattern display device 22a or the special pattern display device 22b, a special game state (jackpot game) occurs that is more advantageous to the player than during the special pattern change display game. As will be described in detail later, the jackpot game begins after a pre-opening interval (opening time) has elapsed. Then, when a predetermined time (maximum opening time: e.g., 29.8 seconds) has elapsed since the first major prize opening 27 or the second major prize opening 28 was opened, or when the number of game balls entering the first major prize opening 27 or the second major prize opening 28 reaches a predetermined number (maximum number of wins), the first major prize opening 27 or the second major prize opening 28 is closed. This "round game" is repeated for a predetermined number of rounds (e.g., up to 10 rounds). Then, after the predetermined number of rounds, a post-opening interval (ending time) has elapsed to notify the end of the jackpot game, and the jackpot game ends. The "s" after the number stands for "seconds."

[0089] (Decorative pattern changing game) Furthermore, when the above-mentioned special symbol variation display game is started, a decorative symbol (a dramatic game symbol) is displayed in a variable manner on the liquid crystal display device 20, and the decorative symbol variation display game is started, and various effects are developed in association with this. When the special symbol variation display game ends, the decorative symbol variation display game also ends, and predetermined special symbols indicating the result of the jackpot lottery are displayed on the special symbol display devices 22a and 22b, and a decorative symbol reflecting the result of the jackpot lottery is derived and displayed on the liquid crystal display device 20. In other words, the result of the special symbol variation display game is reflected and displayed by the dramatic decorative symbol variation display game including the variable display operation of the decorative symbol.

[0090] Therefore, for example, if the result of the special symbol variation display game is a "jackpot" (if the result of the jackpot lottery is a "jackpot"), an effect that reflects that result will be developed in the decorative symbol variation display game. Then, when the special symbol is stopped and displayed in a display mode that indicates a jackpot (for example, the 7-segment display shows "7") on the special symbol display devices 22a and 22b, the decorative symbols are stopped and displayed in a display mode that reflects the "jackpot" in each of the "left," "center," and "right" display areas on the liquid crystal display device 20 (for example, three decorative symbols are displayed as "7," "7," and "7") in each of the "left," "center," and "right" display areas.

[0091] Regarding the information necessary to execute the decorative pattern change display game described above, first, the main control board 40, based on the game ball entering the first start hole 23 or the second start hole 24, specifically, on the condition that the game ball is detected by the first start hole detection sensor 23a or the second start hole detection sensor 24a and the start condition (start condition related to the special pattern) is met, conducts a jackpot lottery to determine whether it will be a "jackpot" or a "miss", and a pattern lottery to determine the type of special pattern (jackpot type, miss type) that will finally be stopped and displayed, and determines the change pattern of the special pattern based on the results of the lottery. In the symbol lottery, if the result of the jackpot lottery is a "jackpot," one of several jackpot types will be determined by lottery, and if it is a "loss," one of several loss types will be determined by lottery. However, there may be only one jackpot type and one loss type, and in that case, the type may be determined without a lottery. Then, the main control board 40 transmits a "variation pattern designation command" including at least information on the variation pattern of the special symbols (variation pattern information (e.g., information on the result of the jackpot lottery and the variation time of the special symbols)) to the performance control board 41 as a performance control command that specifies the processing state. As a result, basic information required for the decorative symbol variation display game is sent to the performance control board 41.

[0092] The special symbol variation pattern information can include information specifying whether or not a specific preview effect (such as a "reach effect" or "pseudo consecutive effect" described below) will occur. Specifically, the variation patterns of the special symbols are broadly divided into a "win variation pattern" in the case of a win and a "miss variation pattern" in the case of a miss, depending on the result of the jackpot lottery. These variation patterns include, for example, a "reach variation pattern" that specifies the occurrence of a reach effect, a "normal variation pattern" that does not specify the occurrence of a reach effect, a "reach variation pattern with pseudo consecutive effects" that specifies the occurrence (overlapping occurrence) of a pseudo consecutive effect and a reach effect, and a "normal variation pattern with pseudo consecutive effects" that specifies the occurrence of a pseudo consecutive effect but does not specify the occurrence of a reach effect. Note that, in order to ensure the duration of the reach effect or pseudo consecutive effect, the variation time of a variation pattern that specifies a reach effect or pseudo consecutive effect is usually set to be longer than that of a normal variation pattern.

[0093] Based on information contained in the effect control commands (here, the variation pattern designation command and the decorative symbol designation command) sent from the main control board 40, the effect control board 41 determines the effect content (effect scenario, such as preview effects) to be developed in chronological order during the decorative symbol variation display game and the decorative symbols (decorative stop symbols) to be ultimately displayed. The effect control board 41 then executes the decorative symbol variation display game by displaying the decorative symbols in a variable manner according to a time schedule based on the variation pattern of the special symbols. As a result, the decorative symbols displayed by the liquid crystal display device 20 are displayed in a variable manner in time with the variable display of the special symbols by the special symbol display devices 22a and 22b, so that the duration of the special symbol variation display game and the duration of the decorative symbol variation display game are substantially the same. The effect control board 41 also controls the liquid crystal display device 20, the light display device 16a, or the sound generating device 17a in accordance with the effect scenario to develop various effects in the decorative symbol variation display game. This allows the liquid crystal display device 20 to reproduce images (image effects), reproduce sound effects (sound effects), and light flashing of the decorative lamps 16, LEDs, etc. (light effects).

[0094] In this way, the special symbol variation display game and the decorative symbol variation display game have an inseparable relationship, and the display results of the special symbol variation display game are reflected in the decorative symbol variation display game, so these two symbol variation display games can be considered as equivalent symbol games. In this specification, unless otherwise necessary, the above two symbol variation display games may be simply referred to as "pattern variation display games."

[0095] (Regarding the reservation of general maps) In the gaming machine 1, when a game ball passes through the normal pattern gate 26, that is, when a detection signal is input from the normal pattern gate detection sensor 26a, a random number related to the normal pattern variable display game (random number for determining whether a normal pattern is a hit) is acquired, and this random number is held as reserved data in the normal pattern reserved memory area of ​​RAM 40c up to a predetermined upper limit value, which is the maximum number of reserved memories (for example, a maximum of 4). The general map reservation memory area has reservation 1 memory area to reservation n memory area (n is the maximum reservation memory number: in this embodiment, n = 4), each of which can store the maximum number of reserved data. Note that there is no particular limit to the maximum number of reserved data in the general map reservation memory area. The game balls related to the reserved data stored in this normal map reserved memory area are also called "normal map reserved balls." To make the number of these normal map reserved balls clear to the player, a dot indicator corresponding to the number of normal map reserved balls on the composite display device 22c is lit, or a reserved indicator provided as an icon image on the screen of the liquid crystal display device 20 is lit.

[0096] (Normal pattern change display game) In the gaming machine 1, when a gaming ball passes through the normal symbol gate 26, a "normal symbol winning lottery" is performed by random number lottery on the main control board 40. Based on the result of this lottery, the normal symbol represented by the LED is displayed variably on the composite display device 22d to start the normal symbol variable display game, and after a predetermined variable time has passed, the result is displayed as a combination of lit and unlit LEDs. For example, if the result of the normal symbol winning lottery is a "normal symbol winning," a specific LED on the composite display device 22d is displayed in a specific lighting state (for example, both LEDs are lit, or the LED representing a "circle" and an "x" is lit) depending on the type of normal symbol winning. Note that in this embodiment, only one type of normal symbol winning is provided.

[0097] When this "normal win" occurs, the normal electric accessory solenoid 25a (see FIG. 5) is activated, the second start port 24 is opened or enlarged, and a state (start port open state) is created in which game balls can easily flow in, creating a game state (hereinafter referred to as "normal electric open game") that is more advantageous to the player than when the second start port 24 is closed. In this normal electric open game, the winning area is opened or enlarged by the normal electric accessory 25 until the opening time of the second start port 24 has elapsed for a predetermined time (e.g., 5.7 seconds) or until the number of game balls that have entered the second start port 24 reaches a predetermined number (e.g., 10 balls), and when either of these conditions is met, the second start port 24 is closed, and this operation is repeated a predetermined number of times (e.g., up to once).

[0098] [3.3 About the jackpot] Next, the "jackpot" in the gaming machine 1 will be explained. In the gaming machine 1, the jackpot types are "4R1", "10R", and "4R2", and if the result of the jackpot lottery is "jackpot", the jackpot type is selected in the pattern lottery. The above notation "R" means the specified number of rounds (maximum number of rounds).

[0099] The type of jackpot is the hit that triggers the activation of the conditional device. Here, the "conditional device" refers to a device whose operation is a necessary condition for the activation of the consecutive device for playing rounds, and which is activated when a specific combination of special symbols is displayed or when the game ball passes through a specific area inside the jackpot opening.

[0100] When a jackpot game is executed, the game state after the jackpot game ends, the number of chance variations, and the number of time reduction variations are determined according to the game state at the time of winning the jackpot and the determined type of jackpot. The number of chance variations is set when the game state after a jackpot game is a high probability state. In the gaming machine 1, the high probability state after a jackpot game continues until the number of times the special symbol variation display game is executed reaches the chance variation number (for example, 154 times), and when the special symbol variation display game reaches the chance variation number without winning a jackpot in the jackpot lottery, the game state is set (transitioned) to a low probability state. The number of time-saving times is set when the game state after a jackpot game is in the time-saving state. In the gaming machine 1, the time-saving state after a jackpot game continues until the number of times the special symbol variable display game is executed reaches the time-saving number (for example, 150 times), and when the special symbol variable display game reaches the time-saving number without winning a jackpot in the jackpot lottery, the game state is set (transitioned) to the non-time-saving state. However, the gaming machine 1 may be a "general probability variable machine" of the type in which the number of probability variable times and the number of time-saving times continue until a jackpot is won in the jackpot lottery (until the next time). The number of times the time is reduced may be the total number of times that the special pattern change display game 1 and the special pattern change display game 2 are executed (the total number of changes in special pattern 1 and special pattern 2), or it may be the number of times that either one of them is executed (for example, the number of times that the special pattern change display game 2 is executed).

[0101] In this embodiment, similar to the jackpot types, there are multiple loss types for "loss." Specifically, there are three loss types: "loss 1," "loss 2," and "loss 3." As described above, if the result of the jackpot lottery is a "miss," a lottery for the type of miss is held in the pattern lottery.

[0102] [3.4 Production] (Performance mode) Next, the presentation modes (presentation states) will be explained. The gaming machine 1 of this embodiment is provided with a plurality of presentation modes for producing presentations related to the game state, and is configured to be able to switch between these presentation modes. Specifically, a presentation mode corresponding to the set game state is provided. In each presentation mode, the background display as the background of the decorative pattern variable display screen is displayed with a different background presentation, so that the player can understand what game state he or she is currently in.

[0103] The presentation control board 41 (CPU 41a) has a functional unit (presentation state transition control means) that controls transitions between multiple presentation modes. The presentation control board 41 (CPU 41a) is configured to grasp the current game state and control transitions between multiple presentation modes in a manner that maintains consistency with the game state managed by the main control board 40 based on specific presentation control commands sent from the main control board 40 (CPU 40a), specifically, presentation control commands including game state information managed by the main control board 40. Examples of such specific presentation control commands include a variation pattern designation command, a decorative symbol designation command, and a game state designation command sent when a change occurs in the game state.

[0104] (Preview performance) Next, the preview effects will be explained. The effect control board 41 is configured to be able to control the appearance of various "preview effects" related to the current presentation mode and the result of the jackpot lottery, based on the contents of the presentation control command from the main control board 40, specifically, based on at least the variation pattern information included in the variation pattern designation command. Such preview effects suggest (preview) the expected probability of winning a particular type of win (hereinafter referred to as "expected probability of winning"), and act as "hype effects" to heighten the player's anticipation of winning. Typical preview effects include "reach effects," "pseudo consecutive effects," and even "predictive preview effects." The effect control board 41 functions as a preview effect control means capable of controlling the execution (appearance) of these effects.

[0105] "Reach effect" refers to an effect mode accompanying a reach state (variable display mode accompanying a reach state: reach variation pattern), and more specifically, an effect mode in which the final game result is derived and displayed via a reach state. Reach effects include multiple types of reach effects associated with the probability of winning. For example, there are some in which the probability of winning is relatively higher than when a normal reach effect appears. Such reach effects are called 'super reach effects'. Many of these "super reaches" have a relatively longer presentation time (variation time) than normal reaches to increase the expectation of winning. Furthermore, normal reaches and super reaches include multiple types of reach effects. Super reaches include multiple types of reach effects, namely Super Reach 1, 2, 3, and 4, and the probability of winning of these Super Reaches 1 to 4 has the following relationship: "Super Reach 1 < Super Reach 2 < Super Reach 3 < Super Reach 4."

[0106] "Pseudo consecutive effects" refers to an effect mode accompanied by a pseudo continuous change display state (pseudo consecutive changes) of decorative symbols, and "pseudo consecutive changes" refers to a change display mode in which, during a decorative symbol change display game, some or all of the decorative symbols are temporarily put into a temporary stop state, and then a re-changing display operation of the decorative symbols is executed from that temporary stop state, and this display operation is repeated once or multiple times. In this respect, it differs from the "prediction notice effect (continuous notice effect)" described below, which is developed across multiple symbol change display games. The occurrence rate (appearance rate) of such "pseudo consecutive effects" is basically set so that the more pseudo changes there are, the higher the probability of winning. For example, depending on the number of pseudo changes, effects that stimulate expectations such as a super reach are more likely to be selected.

[0107] "Prediction prediction effect" (hereinafter sometimes abbreviated as "prediction prediction" or "prediction effect") refers to an effect that notifies the player of the possibility of being controlled to an advantageous state before the variable display of the symbol to be judged is carried out based on the results of the prediction judgment. "Advantageous state" means a state that is advantageous to the player. Specifically, the pre-reading effect is performed in a presentation mode that can notify the winning expectation in advance of reserved balls (unconsumed reserved balls) that have not yet been used in the execution of the pattern change display game (the operation of displaying the variation of special symbols), mainly by utilizing the reserved display mode and the background presentation of the pattern change display game that is executed first. In the pattern change display game, in addition to the above-mentioned "reach presentation," various presentations such as so-called "SU (step-up) notice presentation," "timer notice presentation," "revival presentation," and "premium notice presentation" are generated to liven up the game content.

[0108] Here, with reference to FIG. 6, the "hold change notice effect" will be described as an example of the above-mentioned look-ahead notice effect. In the gaming machine 1 of this embodiment, the upper display area of ​​the screen of the liquid crystal display device 20 is provided with a display area for displaying the decorative symbol variation display game (a display area for displaying decorative symbol variation display effects and preview effects), and the lower display area of ​​the screen is provided with a reserved display area 60 (reserved display sections a1 to d1) that displays the number of reserved balls on the special symbol 1 side, and a reserved display area 61 (reserved display sections a2 to d2) that displays the number of reserved balls on the special symbol 2 side. The presence or absence of reserved balls is notified by a predetermined reserved display mode. Figure 6 shows an example in which the presence or absence of reserved balls is indicated by a lit state (reserved balls: "○ (white circle)" shown in the figure) or an unlit state (no reserved balls: dashed circle shown in the figure), and information regarding the current number of reserved balls is notified.

[0109] The display (reserved display) of the presence or absence of reserved balls is displayed sequentially in the order of occurrence (winning order), and in each reserved display area 60, 61, the reserved ball on the far left is displayed as the reserved ball that occurred first on the time axis (i.e., the oldest) among all reserved balls in that reserved display. Also, to the left of the reserved display areas 60, 61, a changing display area 62 is provided to show the reserved balls currently being used in the special symbol variable display game. In this embodiment, the changing display area 62 is configured so that an image of the game-playing reserved ball K icon currently being used in the game is displayed on top of the reserved ball J icon. That is, when the variable display of special symbol 1 or special symbol 2 begins, the oldest reserved ball a1 or a2 icon (icon image) displayed in the reserved display area 60, 61 is moved to the game-playing reserved ball K icon on top of the reserved ball J icon in the changing display area 62, and this state is maintained for a predetermined display time.

[0110] When a reserved ball occurs, the main control board 40 sends a "reserved addition command" to the performance control board 41, which specifies the advance reading judgment information related to the jackpot lottery result and the number of reserved balls at the time of advance reading judgment (the number of reserved balls currently existing, including the reserved ball that has occurred this time) (see Figure 14). In this embodiment, the above-mentioned reserve addition command is composed of two bytes, and the reserve addition command is composed of data on the upper byte side that enables the number of reserved balls to be identified at the time of the pre-reading judgment, and data on the lower byte side that enables the pre-reading judgment information to be identified.

[0111] As can be understood from the above explanation, in this embodiment, when a game ball enters the first start hole 23 or the second start hole 24 and a new reserved ball is generated, a jackpot lottery for the symbol variation display game related to the reserved ball is performed as a pre-reading judgment. As will be described later, the main control board 40 reserves and stores information representing the result of the jackpot lottery performed as such a pre-reading judgment in a corresponding storage area of ​​the RAM 40c. The information on the jackpot lottery result obtained at the time of the look-ahead judgment is used to select (lottery) the pattern variation pattern in the pattern variation display game, and can be said to be "variation pattern selection information." Therefore, it can be said that the main control board 40 performs the look-ahead judgment and reserves and stores the "variation pattern selection information" obtained as a result in a predetermined area of ​​the RAM 40c.

[0112] When the performance control board 41 receives the above-mentioned hold addition command sent by the main control board 40, it performs performance control processing for the "pre-reading notice performance" as part of the display control processing related to the above-mentioned hold display based on the pre-reading judgment information contained therein. Specifically, it performs a "pre-reading notice lottery" to draw whether or not the pre-reading notice performance can be executed, and if it is won, it makes the pre-reading notice performance appear.

[0113] Here, the pre-reading judgment information is specifically game information obtained by the main control board 40 by pre-reading and judging the jackpot lottery result (jackpot lottery result at the start of the variation) executed when the reserved ball is provided to the symbol variation display game and the variation pattern at the start of the variation. That is, this information includes at least information obtained by pre-reading and judging the jackpot lottery result at the start of the variation (pre-reading success / failure information), and can also include information obtained by pre-reading and judging the symbol lottery result (pre-reading symbol information) and information obtained by pre-reading and judging the variation pattern at the start of the variation (pre-reading variation pattern information). The information included in the reserved addition command to be sent to the performance control board 41 can be determined appropriately depending on the content to be notified in the pre-reading notice. It should be noted that the pending addition command includes predictive win / loss information, predictive pattern information, and predictive variation pattern information.

[0114] It should be noted that the "pre-read fluctuation pattern" obtained by the pre-read judgment when the reserved ball occurs does not necessarily have to be the "fluctuation pattern at the start of fluctuation" itself obtained when the reserved ball is actually used for the fluctuation display operation. For example, to explain a representative case where the fluctuation pattern at the start of fluctuation is a fluctuation pattern that specifies "Super Reach 1", in this case, it is possible to specify that the content specified by the pre-read fluctuation pattern is not the type of reach performance itself called "Super Reach 1", but rather the "Super Reach type" which is its essential element.

[0115] In this embodiment, if the advance notice lottery is won, a "hold display change" advance notice performance (also referred to as a "hold change notice") is performed in which the hold icon that is the subject of the advance notice among the hold icons in the hold display sections a1 to d1, a2 to d2 is changed from the white of the normal hold display (normal hold display mode) to a hold display (special hold display mode) with a notice display of blue, green, red, or a danger pattern (or special colors or patterns such as rainbow colors). In Figure 6, the reserved ball in the hatched reserved display section b1 is shown as a special reserved display. Here, the reserved icon blue, green, red, and danger pattern display indicate a higher probability of winning in this order, and the display of the danger pattern reserved icon is a premium reserved icon that indicates an extremely high probability of winning a jackpot.

[0116] (Direction means) Various effects in the gaming machine 1 are produced by the effect means provided in the gaming machine 1. This effect means may be any stimulus transmission means capable of producing an effect by appealing to human senses such as sight, hearing, or touch. Representative examples include light generating means (light display device 16a: light effect means) such as decorative lamp 16 or LED device, sound generating devices (sound generating device 17a: sound effect means) such as speaker 17, effect display devices (display means) such as LCD display device 20, pressure devices that transmit contact pressure to the operator's body, wind pressure devices that apply wind pressure to the player's body, and movable gadgets 50 that produce visual effects through their movement. Here, effect display devices, like image display devices, are visually appealing displays, but differ from image display devices in that they also include devices that do not rely on images (e.g., 7-segment displays). The term "image display device" primarily refers to a type that produces effects by displaying images; devices that produce effects through means other than images, such as 7-segment displays, are included within the concept of effect display devices.

[0117] <4. Processing the main control board> Next, we will explain the processing performed by the main control board 40 of this embodiment. The processing of the main control board 40 mainly includes main processing (main control side main processing: FIG. 7) and timer interrupt processing (main control side timer interrupt processing: FIG. 9) that is started by a regular interrupt from the CTC.

[0118] [4.1 Main control side main processing] FIG. 7 is a flowchart showing the main processing on the main control side. The main control side main processing is started when a system reset occurs due to a system reset signal from the power supply board 200 upon recovery from a power outage or power supply abnormality, or when a watchdog timer (WDT) is activated and the CPU 40a is forcibly reset (WDT reset) due to a control program going out of control. In either case, when the main control side main processing is started, in step S101 the CPU 40a executes initial setting processing required to start game operation, such as initializing the values ​​of registers of each part including the CPU 40a.

[0119] When the initial setting process in step S101 is completed, the CPU 40a determines in step S102 whether or not the backup flag is in the ON state (backup flag=5AH is in the ON state). In the gaming machine 1, when the power is cut off, a process for backing up the information stored in the RAM 40c is performed by the power check / backup process (step S201, see FIG. 9) described later in the main control timer interrupt process. If the backup process was performed properly when the power was cut off, the backup flag is set to ON. Therefore, in step S102, the backup flag is checked to determine whether or not the backup can be restored.

[0120] If it is determined in step S102 that the backup flag is not ON, the CPU 40a proceeds to step S103, performs a process corresponding to when the backup flag is OFF, and proceeds to step S108. In step S103, a predetermined process (for example, a process of storing necessary information in the RAM 40c) is performed as a process when the backup flag is OFF.

[0121] On the other hand, if it is determined in step S102 that the backup flag is ON, the CPU 40a determines in step S104 whether a RAM clear condition (a condition for transitioning to RAM clear processing) is met. Specifically, it determines whether the RAM clear switch 34 is ON. If it is determined that the RAM clear condition is met, the CPU 40a executes RAM clear processing in step S105, and proceeds to step S108. The RAM clear process in step S105 is a process for initializing values ​​in a predetermined area (usage area) including a work area in the RAM 40c.

[0122] If it is determined in step S104 that the RAM clear condition is not met, the CPU 40a proceeds to step S106 and performs a command sending process when the backup is restored, in which a predetermined performance control command corresponding to the backup restoration is sent to the performance control board 41.

[0123] In step S107 following step S106, the CPU 40a performs a backup restoration process. The backup restoration process is a process for restoring the operation before power is cut off after power is turned on based on the memory contents of the RAM 40c that were backed up when power was cut off. Specifically, the CPU 40a restores the stack pointer that was in place before power was cut off and performs a process for starting game operation from the processing state at the time of power cut off. In addition, during the backup recovery process, a process is performed to store the lower byte data of the power outage recovery display command in a register so that the power outage recovery display command (OB03H) for issuing information display instructions corresponding to the case of backup recovery is sent to the performance control board 41 in the main loop pre-processing of step S110 described below.

[0124] In response to the execution of the backup restoration process in step S107, the CPU 40a advances the process to step S108. As described above, when the process of the previous step 103 has been performed, or when the process of step S105 has been performed, the CPU 40a advances the process to step S108.

[0125] In step S108, the CPU 40a sets the CTC to generate a timer interrupt periodically at predetermined intervals, such as every 4 ms. By carrying out the setting process of step S108, an interrupt request signal is periodically output to the interrupt controller, and the main control side timer interrupt process is executed.

[0126] In step S109 following step S108, the CPU 40a performs processing to transmit a performance control command for instructing the start of a game to the performance control board 41, and then proceeds to step S110 to execute main loop pre-processing. In the main loop pre-processing, commands to initialize (return to origin) the movable device 50, sending commands indicating the number of reserved balls for special chart 1 and special chart 2, setting the internal function register, setting the timer for lighting the performance display monitor to 5 seconds, and turning on the launch permission signal to the payout control board 42 are executed. Then, in step S111, the CPU 40a executes the main loop process.

[0127] (Main loop processing) FIG. 8 is a flowchart showing the main loop process of step S111. In the main loop process of FIG. 8, the CPU 40a sets an interrupt disabled state in step S121, and then executes a random number update process in step S122. In this random number update process, the CPU 40a performs update processing related to random numbers generated by software (random numbers that circulate within a predetermined numerical range through increment processing). In this embodiment, the RAM 40c is provided with a random number counter for generating random numbers, and the CPU 40a updates the value of this random number counter through the random number update process of step S122 to generate a software random number. For example, if the range of values ​​that the software random number to be generated can take is "0 to 9999," the value of the count value storage area serving as the random number counter in the RAM 40c is obtained, "1" is added to the obtained value, and the value is then stored in the original count value storage area. At this time, if the result of adding "1" to the obtained value is "10000," "0" is stored in the original count value storage area. In this example, the software random numbers to be updated by the random number update process in step S122 include, for example, random numbers used to change the initial values ​​(start values) of random numbers for determining special patterns and random numbers for determining whether a regular pattern is a winner (initial value random numbers for determining whether a regular pattern is a winner, initial value random numbers for determining whether a regular pattern is a winner).

[0128] After completing the random number update process in step S122, the CPU 40a saves the values ​​of all registers in step S123, and then performs a performance display monitor tally division process in step S124. This performance display monitor tally division process is a process for calculating the value of the above-mentioned performance information (here, for example, the value of "normal ratio information"). The value of the normal ratio information is calculated using the total number of paid-out balls and the total number of balls that have been thrown out. The CPU 40a calculates the total number of paid-out balls based on the result of counting the number of game balls that have entered the winning ports (first start port 23, second start port 24, general winning port 31, first large winning port 27, second large winning port 28), and calculates the total number of balls that have been thrown out by counting the number of game balls that have been discharged from the game area 19. The counting of the number of winning balls and the number of out balls is performed in the input management process (see step S204 in Figure 9) described later in the timer interrupt process on the main control side. The CPU 40a calculates a value as normal time ratio information in step S124 based on the count values ​​of the number of winning balls and the number of out balls performed on the timer interrupt process side in this way. As described above, the calculated value as normal time ratio information is stored in a predetermined area (measurement information storage area) of RAM 40c. The value of the normal ratio information calculated in this manner is displayed on the performance display device 35 by a performance display monitor display process (see step S214 in FIG. 9) described later in the main control side timer interrupt process.

[0129] In step S125, the CPU 40a performs all register restoration processing, and then in the following step S126, it sets the interruption enabled state, and returns to step S121.

[0130] In this way, in the main loop process of step S111, the processes of steps S121 to S126 are repeated in an endless loop. The CPU 40a repeatedly executes the processes of steps S121 to S126 except during the time when the CPU 40a is performing timer interrupt processing that is executed intermittently.

[0131] [4.2 Main control side timer interrupt processing] Referring to the flowchart of Figure 9, the main control side timer interrupt processing will be explained. The main control side timer interrupt processing is started by an interrupt from the CTC at regular intervals (approximately 4 ms) and is executed while the main control side main processing is being executed.

[0132] 9, when a timer interrupt occurs, the CPU 40a executes a power check / backup process in step S201. This power check / backup process mainly monitors the power level supplied from the power supply board, and if an abnormality such as a power outage occurs, a backup process is performed to store predetermined game information at the time of the power outage in the RAM 40c so that game play can be resumed without any problems when the power is restored.

[0133] After completing the power supply check and backup process in step S201, the CPU 40a executes an input data creation process in step S202. Specifically, the CPU 40a creates input data based on input information (ON / OFF signals and rising states (ON edge, OFF edge)) output from various sensors and switches. The input information here includes, for example, ON / OFF information (winning detection information) of detection signals output from detection sensors such as the first start gate detection sensor 23a, the second start gate detection sensor 24a, the normal symbol gate detection sensor 26a, the first large prize gate detection sensor 27a, the second large prize gate detection sensor 28a, the general prize gate detection sensor 31a, and the OUT monitoring sensor 32a, ON / OFF information (operation information) of switch signals output from various switches such as the RAM clear switch 34, status signals from the payout control board 42 (ON / OFF information of the front door open sensor 48 and the full detection sensor 47), radio wave sensors, magnetic sensors, etc. As a result, whether or not a gaming ball has been detected at the OUT gate or each winning gate is monitored for each interrupt.

[0134] After completing the input data creation process in step S202, the CPU 40a executes a timer management process in step S203 to manage timers used for game operation control. Here, the values ​​of various timers used for game operation control of the gaming machine 1 are updated (subtracted).

[0135] Next, the CPU 40a performs an input management process in step S204. In this input management process, the values ​​of the winning counter and the OUT ball monitoring counter are updated based on the input data created in the input data creation process (S202). A "winning counter" is a counter provided for each winning slot, which counts the number of winning game balls (number of winning balls). The OUT ball monitoring counter is a counter which counts the number of game balls (out balls) discharged from the game area 19.

[0136] In step S205, the CPU 40a executes an error management process. In this error management process, the CPU 40a monitors whether or not an error has occurred based on input data from various sensors and status signals from the dispensing control board 42. When an error occurs, the CPU 40a handles the error by sending an error command to the performance control board 41 if the error type requires the sending of the command. When the performance control board 41 receives this error command, it issues an error notification according to the error type. Furthermore, when the currently occurring error is resolved, the CPU 40a sends an error release command to the performance control board 41. When the performance control board 41 receives this error release command, it terminates the error notification that is currently being executed.

[0137] Next, in step S206, the CPU 40a executes a random number management process in a timer interrupt to periodically update the software random number. Here, in order to make the count value of the random number counter random, the random number is updated (+1 is added at each interrupt) and the start value of the random number counter is changed each time the random number counter goes around once. Here, in this embodiment, the random numbers for determining a jackpot, the random numbers for determining special symbols, the random numbers for determining normal symbol wins, and the random numbers for the special symbol variation patterns are generated by the random number circuit 40d, and are not updated here.

[0138] In step S207, the CPU 40a executes a prize ball management process. In this prize ball management process, the above-mentioned winning counter is checked, and if a prize is won, a payout control command specifying the number of prize balls is sent to the payout control board 42. When the payout control board 42 receives the payout control command, it controls the game ball payout device 46 based on the prize ball number information contained therein, and causes the payout operation to be performed for the specified number of prize balls.

[0139] Next, in step S300, the CPU 40a executes a normal symbol management process. In this normal symbol management process, the CPU 40a executes processes necessary for executing a normal symbol variable display game. Details of the normal symbol management process in step S300 will be described later.

[0140] Furthermore, in step S208, the CPU 40a executes a normal electric accessory management process. In this normal electric accessory management process, processing related to the operation control of the normal electric accessory necessary for executing a normal electric open game is performed.

[0141] Next, in step S400, the CPU 40a executes a special symbol management process. In this special symbol management process, a lottery is mainly performed for a jackpot in the special symbol variable display game, and based on the lottery result, processing necessary for executing the special symbol variable display game is performed, such as determining the variation pattern of the special symbol (prediction variation pattern and variation pattern at the time of variation start). The details of the special symbol management process in step S400 will be described later.

[0142] Next, in step S209, the CPU 40a executes a special electric accessory management process, which performs processing related to the operation control of the special electric accessory required for executing a big win game.

[0143] After completing the processing for game progress up to step S209, the CPU 40a performs external terminal management processing in step S210. In this external terminal management processing, operation status information of the gaming machine 1 is output to external devices such as the hall computer HC and island lamps through the frame external centralized terminal board 43. The operation status information includes, for example, game information such as jackpot game occurrence information, symbol variation display game execution start information, number of winnings / number of winning balls information, and error information.

[0144] Next, in step S211, the CPU 40a executes LED management processing. In this LED management processing, output processing of control signals (dynamic lighting data) to LED indicators such as the special symbol display devices 22a, 22b and composite display devices 22c, 22d is performed. Control signals based on display data created in the normal symbol management processing (step S300), the special symbol management processing (step S400), etc. are output to the corresponding display devices or indicators in this LED management processing, and display control is performed. This realizes a series of variable display operations (variable display and stationary display) of the special symbols on the special symbol display devices 22a, 22b and the normal symbols on the composite display device 22d.

[0145] In step S212 following step S211, the CPU 40a executes solenoid management processing. Here, processing is performed to output control signals (control data) to predetermined solenoids provided in the gaming machine 1, such as the normal electric role solenoid 25a that operates the normal electric role 25 described above, the first special electric role solenoid 29a that operates the first special electric role 29 that opens and closes the first large prize opening 27, and the second special electric role solenoid 30a that operates the second special electric role 30 that opens and closes the second large prize opening 28.

[0146] In step S213 following step S212, the CPU 40a saves the values ​​of all registers and then performs performance display monitor display processing in step S214. That is, this is processing for displaying the value as the normal time ratio information on the performance indicator 35. The value of the normal time ratio information is recalculated each time the number of out balls in all states reaches a predetermined value, and the performance display 35 is capable of displaying the current normal time ratio information and the previous normal time ratio information (the normal time ratio information whose calculation was terminated at the most recent recalculation timing). Therefore, in this case, the display process of step S214 performs a process of displaying the values ​​of these two types of normal time ratio information on the performance display 35. The value of the current normal ratio information is a value calculated in step S124 of the main loop processing (FIG. 8) described above, and the value of the previous normal ratio information is stored in a predetermined area of ​​the RAM 40c, and the CPU 40a reads out the stored value and displays it on the performance display 35.

[0147] In step S215 following step S214, the CPU 40a restores the values ​​of all registers, clears the count value of the WDT in step S216, and ends the main control side timer interrupt process.

[0148] When the above timer interrupt process is completed, the CPU 40a executes the main loop process (S111) until the next timer interrupt occurs.

[0149] (Normal design management processing) FIG. 10 is a flowchart showing the normal symbol management process. As shown in FIG. 10, in step S301, the CPU 40a determines whether or not the passage of a gaming ball through the normal symbol gate 26 has been detected based on the detection signal from the normal symbol gate detection sensor 26a.

[0150] If it is determined that the passage of a gaming ball through the normal symbol gate 26 has been detected, the CPU 40a determines in step S302 whether the number of normal reserved balls is 4 or more. That is, it determines whether the number of normal reserved balls is equal to or greater than the maximum reserved memory number (here, the upper limit is 4). However, if the passage of a gaming ball through the normal symbol gate 26 has not been detected (step S301: N), and if it is determined that the number of normal reserved balls is 4, the process skips steps S302 to S304 and proceeds to step S305.

[0151] On the other hand, if it is determined that the number of reserved balls for the regular map is not 4 or more (if it is less than 4), the CPU 40a adds 1 to the number of reserved balls for the regular map in step S303, and stores the random number for determining whether or not the regular map is a hit related to the reserved ball generated this time in the regular map reserved memory area of ​​the RAM 40c in step S304.

[0152] In step S305, the CPU 40a determines the state of the normal winning flag. This "normal winning flag" is a flag for specifying whether or not a normal power open game is being played. If the flag is in the ON state (for example, 5AH), it indicates that a normal power open game is being played, and if the flag is in the OFF state (for example, 00H), it indicates that a normal power open game is not being played.

[0153] If the normal symbol winning flag is OFF (≠5AH), i.e., if normal power open play is not in progress, in step S306 the CPU 40a executes a normal symbol operation status determination process that branches the processing related to the variable display operation of the normal symbol depending on the normal symbol operation status (00H to 02H).

[0154] In the normal symbol operation status determination process of step S306, depending on whether the normal symbol operation status is "at the start of fluctuation (00H)", "fluctuating (01H)", or "during confirmation time (02H)", the corresponding process is executed. Note that the "normal symbol operation status" is a value that indicates the behavior of the normal symbol, and this value is changed depending on the processing state and stored in the normal symbol operation status storage area of ​​RAM 40c.

[0155] Specifically, when the normal symbol operation status is "at the start of fluctuation (00H)", the CPU 40a determines in step S307 whether the number of normal symbol reserved balls is zero, and if it determines that the number of normal symbol reserved balls is zero, it skips the processing of steps S308 to S313 and proceeds to step S320.

[0156] On the other hand, if it is determined that the number of reserved balls for the regular map is not zero, in step S308 the CPU 40a subtracts 1 from the number of reserved balls for the regular map, and, referring to the regular map winning determination table shown in Figure 11, performs a lottery for determining whether a regular map is a winning ball based on the random number for determining whether a regular map is a winning ball that is stored earliest among the random numbers for determining whether a regular map is a winning ball (reserved data) stored in the regular map reserve memory area.

[0157] FIG. 11 is a diagram illustrating an example of a normal winning determination table. Here, a predetermined area of ​​the ROM 40b stores a normal winning determination table as shown in Figure 11. The normal winning determination table shows a determination reference value TH for a low probability state and a high probability state. In the normal lottery in this embodiment, a judgment reference value TH is set within the range of values ​​(0 to 200) that the random number for determining whether a normal lottery wins is, and a judgment of whether the normal lottery wins or loses is made based on the results of comparing the magnitude relationship between the random number for determining whether a normal lottery wins and the judgment reference value TH. As an example, a method is adopted in which a normal lottery win is determined when the value of the random number for determining whether a normal lottery wins is within the range of "0 to judgment reference value TH", and a loss is determined otherwise. In the example shown in Figure 11, the judgment reference value TH is set to 200 in both the low probability state and the high probability state. Therefore, in this embodiment, in either the low probability state or the high probability state, a normal winning lottery will always be won.

[0158] FIG. 12 is a diagram for explaining an example of the winning type, the variation time, and the determination time for the normal symbol variation display game. In step S310, the CPU 40a performs a stop symbol creation process in which a win type is determined based on the result of the normal winning lottery and the set game state, and a stop symbol corresponding to the determined win type is created, as shown in Fig. 12. Here, as described above, a normal winning lottery wins a regular winning regardless of whether it is a low probability state or a high probability state, and when a normal winning lottery wins, "win 1" is determined as the win type, and a stop symbol corresponding to "win 1" is created, as shown in Fig. 12.

[0159] In step S311, the CPU 40a stores the variable time (see FIG. 12) based on the game state in the normal symbol accessory timer. Here, 132 ms is stored in the low probability state, and 128 ms is stored in the high probability state.

[0160] In step S312, the CPU 40a shifts the reserved data stored in the general map reserved memory area of ​​the RAM 40c. Here, the reserved data stored in the general map reserved n memory area (n=2, 3, 4) is stored in the general map reserved memory area corresponding to 'n-1'.

[0161] In step S313, the CPU 40a performs various settings at the start of fluctuation and proceeds to step S320. Here, for example, the normal symbol operation status is set to "fluctuating (01H)", the reserved 4 storage area is cleared to provide an empty area, and the normal symbol fluctuation flag is set to ON.

[0162] If the normal symbol operation status is "changing (01H)", the CPU 40a determines in step S314 whether the normal symbol role timer is zero or not, and if it determines that the normal symbol role timer is not zero, it skips step S315 and proceeds to step S320.

[0163] On the other hand, if it is determined that the normal symbol feature timer is zero, the CPU 40a performs various settings when the fluctuation stops in step S315, and proceeds to step S320. Here, for example, the normal symbol operation status is set to "confirmation time (02H)", the fixed time (500 ms) based on the game state as shown in Figure 12 is stored in the normal symbol feature timer, and the normal symbol fluctuation flag is set to OFF.

[0164] If the normal symbol operation status is "in confirmation time (02H)", the CPU 40a determines in step S316 whether the normal symbol accessory timer is zero or not, and if it determines that the normal symbol accessory timer is not zero, it skips steps S317 to S319 and proceeds to step S320.

[0165] On the other hand, if it is determined that the normal symbol feature timer is zero, in step S317, the CPU 40a sets the normal symbol operation status to "at the start of fluctuation (00H)". In step S318, the CPU 40a determines whether or not a normal symbol win has been won in the normal symbol winning lottery in step S309, and if it is determined that a normal symbol win has not been won, it skips step S319 and proceeds to step S320.

[0166] On the other hand, if it is determined that the normal winning has been won, in step S319, the CPU 40a performs various settings for the normal winning and proceeds to step S320. Here, the normal winning flag is set to ON (5AH).

[0167] In step S320, the CPU 40a updates the normal symbol display data and ends the normal symbol management process. In this normal symbol display data update process, it is determined whether the normal symbol is changing, and if it is changing, it creates 7-segment display data for the normal symbol while it is changing, and if it is not changing, it creates 7-segment display data for the normal symbol while it is stopped and displayed. The normal symbol display data created here is output to the composite display device 22d by the LED management process (step S211) of Figure 9.

[0168] (Special design management processing) 13 is a flowchart showing the special symbol management process (step S400). As shown in FIG. 13, the CPU 40a performs a special symbol 1 start hole check process for the special symbol 1 (first start hole 23) in step S401, and then performs a special symbol 2 start hole check process for the special symbol 2 (second start hole 24) in the following step S402. The details of the start port check process will be described later.

[0169] After completing the start-up check process in steps S401 and S402, the CPU 40a determines the state of the condition device operation flag in step S403. This "condition device operation flag" is a flag for specifying whether or not a jackpot game is in progress, and when the flag is in the ON state (e.g., 5AH), it indicates that a jackpot game is in progress, and when the flag is in the OFF state (e.g., 00H), it indicates that a jackpot game is not in progress. The condition device operation flag is set to the ON state in the special symbol confirmation process (step S407) when a jackpot is won in the jackpot lottery, and is set to the OFF state in the jackpot end process (step S650) described later.

[0170] If it is determined that the condition device operation flag is in the OFF state (≠5AH), i.e., if it is determined that a jackpot game is not being played, in step S404 the CPU 40a executes special pattern operation status branching processing that branches the processing related to the variable display operation of the special pattern depending on the special pattern operation status (00H to 03H).

[0171] In the special symbol operation status branching process of step S404, depending on whether the special symbol operation status is "waiting (00H, 01H)", "changing (02H)", or "confirming (03H)", the corresponding process is executed. Note that the "special symbol operation status" is a value that indicates the behavior of the special symbol, and this value is changed depending on the processing state and stored in the special symbol operation status storage area of ​​RAM 40c.

[0172] Specifically, the CPU 40a executes special symbol change start processing (step S405) when the special symbol operation status is "standby (00H, 01H)", executes special symbol change processing (step S406) when the special symbol operation status is "changing (02H)", and executes special symbol confirmation time processing (step S407) when the special symbol operation status is "confirming (03H)". Here, the above "standby" means that the special symbol is in a standby state for the next change, the above "changing" means that the special symbol is changing (displaying a change), and the above "confirming" means that the change of the special symbol has ended and is being displayed as stopped (confirmed) (during special symbol confirmation time).

[0173] By the processing of the above steps S405, S406, and S407, a variable display operation that sets the start and stop of the special symbol variation is realized. The process in step S405 will be described in detail later.

[0174] After completing any one of steps S405 to S407, the CPU 40a executes a special symbol display data update process in step S408, and ends the special symbol management process. In this special symbol display data update process, it is determined whether the special symbol is changing, and if it is changing, it creates 7-segment display data for the special symbol changing, and if the special symbol is not changing, it creates 7-segment display data for the special symbol stopped display. The special symbol display data created here is output to the special symbol display devices 22a and 22b by the LED management process (step S211) of Figure 9.

[0175] Also, when it is determined in step S403 that a jackpot game is being played (=5AH), the CPU 40a does not perform the processing related to the variable display operation of the special symbol in steps S405 to S407, and directly performs the special symbol display data update processing in step S408. In other words, when a jackpot game is being played, the variable display operation of the special symbol is not performed (the display state of the special symbol on the special symbol display device is maintained as it was after the jackpot).

[0176] (Special Diagram 1 Starting Port Check Processing) FIG. 14 is a flowchart showing the special drawing 1 starting port check processing (step S401). This special symbol 1 start port check process serves as a winning process that is executed based on the establishment of a predetermined starting condition. In the special symbol 1 start port check process, as a pre-start process (a winning process for special symbol 1) for executing the special symbol 1 special symbol variable display game 1, a process of adding the number of reserved balls for special symbol 1 resulting from the occurrence of a winning at the first start port 23, a process of storing various random numbers (reserved storage process), a process of sending a reserved addition command, etc. are executed. Like the special symbol 1 start port check process, the special symbol 2 start port check process (step S402) also serves as a winning process that is executed based on the establishment of a predetermined start condition, and as a pre-start process for executing the special symbol variation display game 2 of the special symbol 2 (a winning process for the special symbol 2), it executes processes such as adding the number of reserved balls for the special symbol 2 due to the occurrence of a winning at the second start port 24, storing various random numbers, and sending a reserved addition command. Therefore, the special symbol 1 start port check process and the special symbol 2 start port check process are essentially identical in processing content. The following will mainly explain the special symbol 1 start port check process, and details of the special symbol 2 start port check process will be omitted to avoid duplication.

[0177] As shown in FIG. 14, in step S401-1, the CPU 40a determines whether or not a game ball has entered the first start hole 23 based on a detection signal from the first start hole detection sensor 23a. If it is determined that a game ball has entered the first start hole 23, the CPU 40a determines in step S401-2 whether or not the number of reserved balls of special symbol 1 (hereinafter referred to as "special symbol 1 reserved balls") is 4 or more. In other words, it determines whether or not the number of reserved balls of special symbol 1 is equal to or greater than the maximum reserved memory number (here, the upper limit is 4). However, if it is determined that no entry into the first start hole 23 has been detected, the special symbol 1 start hole check process is terminated.

[0178] If it is determined in step S401-2 that the number of reserved balls for special chart 1 is 4 or more, that is, if a winning entry is detected at the first starting port 23 but it is determined that the number of reserved balls for special chart 1 is 4 or more, the CPU 40a proceeds to step S401-11 described below; on the other hand, if it is determined that the number of reserved balls for special chart 1 is not 4 or more (if it is less than 4), it adds 1 to the number of reserved balls for special chart 1 in step S401-3.

[0179] In step S401-4, the CPU 40a acquires various random numbers to be used in the special symbol variation display game 1 related to the currently generated special symbol 1 reserved ball. Specifically, the CPU 40a acquires a random number for determining a jackpot, a random number for determining a special symbol, and a random number for a variation pattern generated by the random number circuit 40d, and stores the acquired random numbers in the special symbol reservation memory area of ​​the RAM 40c.

[0180] In step S401-5, the CPU 40a acquires pre-read prohibition data (EVENT: "01H") that prohibits pre-read judgment as winning command data (data corresponding to the lower byte side (EVENT) of the pending addition command) for creating the pending addition command. Next, in step S401-6, the CPU 40a determines whether or not a "special figure 1 pre-reading prohibition condition" is established. The special figure 1 pre-reading prohibition condition is a condition that prohibits pre-reading judgment targeting the special figure 1 reserved ball.

[0181] If the special chart 1 pre-reading prohibition condition is met, the CPU 40a does not execute the pre-reading judgment process (step S401-9) for the pre-reading judgment, and proceeds to step S401-11. In this case, the reserved addition command having the pre-reading prohibition data (EVENT: "01H") specifies the pre-reading prohibition, and the pre-reading judgment for the special chart 1 reserved ball is prohibited, and as a result, the pre-reading notice performance is not executed. In other words, the pre-reading prohibition data can be said to specify that the pre-reading judgment process (step S401-9) is not executed.

[0182] Here, rather than making a pre-reading judgment of special chart 1 and special chart 2 regardless of the game state, it is determined whether or not pre-reading is prohibited based on the current game state. The reason is as follows. When the time-saving state is in which right-handed hits are advantageous, winnings at the second starting hole 24 occur frequently, but when the time-saving state is not in which left-handed hits are advantageous, winnings at the second starting hole 24 rarely occur and winnings at the first starting hole 23 occur frequently.Taking this into consideration, rather than making blind pre-reading judgments of special pattern 1 and special pattern 2 regardless of the game state, when the time-saving state is in, pre-reading judgments on the special pattern 1 side are prohibited and pre-reading judgments on the special pattern 2 side are allowed, and when the time-saving state is not in, pre-reading judgments on the special pattern 2 side are prohibited and pre-reading judgments on the special pattern 1 side are allowed.

[0183] If it is determined in step S401-6 that the pre-read prohibition condition is not satisfied, the CPU 40a executes a pre-read determination process in step S401-7. This pre-read determination process pre-reads and determines the result of the jackpot lottery executed at the start of fluctuation. Therefore, it includes a series of processes related to a 'pre-read success / failure determination' that pre-reads and determines the result of the jackpot lottery, a 'pre-read symbol determination' that pre-reads and determines the result of the symbol lottery, and a 'pre-read fluctuation pattern determination' that pre-reads and determines the fluctuation pattern at the start of fluctuation.

[0184] Specifically, in step S401-7, the CPU 40a acquires a random number value for determining a jackpot stored in the RAM 40c (special chart reserved memory area), and based on the random number value for determining a jackpot and the jackpot determination table (see Figure 17), conducts a jackpot lottery (at least a pre-reading hit / miss determination that determines whether it is a jackpot or a miss) for the reserved balls this time, and acquires the result (referred to as the "pre-reading hit / miss result").

[0185] In this embodiment, the result of the pre-reading is stored in a predetermined general-purpose register built into the CPU 40a, and is not stored in the RAM 40c. This is because the result of the pre-reading is immediately used in the subsequent pre-reading symbol determination process, and this data is not needed thereafter, so there is no need to store it in the RAM 40c.

[0186] In addition, in step S401-7, the CPU 40a performs the above-mentioned process of predictive symbol determination by drawing a pattern using a symbol table (see FIG. 20) according to the predictive symbol result (at least whether it is a big hit or a miss) and the reserved type (whether it is special symbol 1 or 2). Specifically, the CPU 40a draws a pattern for the reserved ball this time based on the special symbol determination random number and symbol table obtained in the previous step S401-4, and obtains the result (referred to as the "predictive symbol result").

[0187] The CPU 40a does not store the predicted symbol result in the RAM 40c, but keeps it in a predetermined general-purpose register built into the CPU 40a, just as in the case of the predicted symbol result judgment described above. This is because the predicted symbol result will be used immediately in the subsequent predicted symbol variation pattern judgment, and this data will not be needed thereafter, so there is no need to store it in the RAM 40c.

[0188] After completing the above-mentioned look-ahead symbol determination, the CPU 40a executes look-ahead variation pattern determination. In this look-ahead variation pattern determination, a lottery is performed for a variation pattern using the look-ahead symbol result (either "4R1", "10R", "4R2", "miss 1", "miss 2", or "miss 3"), a variation pattern table for selecting a variation pattern according to the look-ahead symbol result, and the random number for the variation pattern obtained in step S401-4, to determine the look-ahead variation pattern. In other words, the variation pattern (the variation pattern at the start of the variation) to be executed when the reserved ball this time is subjected to the variation display operation is looked-ahead and determined.

[0189] The above-mentioned variation pattern table is also used in the lottery for the variation pattern performed in the special symbol variation start process (Figure 13). A specific example of the above fluctuation pattern table and the lottery process for fluctuation patterns using the table will be explained again when explaining the process at the start of fluctuation.

[0190] The result of the look-ahead fluctuation pattern determination (winning command data (EVENT)) is immediately used in the pending addition command creation process in step S401-8, which will be described below, and this data is not needed thereafter. Therefore, the CPU 40a finishes the process of step S401-7 without storing the result of the look-ahead fluctuation pattern determination in the register.

[0191] In step S401-8, the CPU 40a creates data on the lower byte side of the reserved addition command according to the look-ahead determination result. Specifically, data representing the type of look-ahead fluctuation pattern is created as winning command data (EVENT) on the lower byte side of the reserved addition command. As for the EVENT data, "01H" set in step S401-5 is updated in this process to a value corresponding to the look-ahead fluctuation pattern (a value obtained in the look-ahead fluctuation pattern determination process).

[0192] In step S401-9, the CPU 40a creates data on the upper byte side of the reserved addition command according to the number of reserved balls. That is, the CPU 40a creates data representing the current number of reserved balls and the above-mentioned pre-read pattern result (type of special pattern) as winning command data (MODE) on the upper byte side of the reserved addition command. The data for this MODE is set so that one reserve of special chart 1 to four reserves of special chart 1, and one reserve of special chart 2 to four reserves of special chart 2 can be distinguished.

[0193] In step S401-10, the CPU 40a performs a process of transmitting a reserved addition command. That is, the reserved addition command including the winning command data generated in steps S401-8 and S401-9 as EVENT and MODE, respectively, is generated and transmitted to the performance control board 41.

[0194] If the read-ahead prohibition condition is met (Yes in S401-6), the CPU 40a does not update the read-ahead prohibition data (lower byte=01H) but maintains it as is, and transmits a reserved addition command having the read-ahead prohibition data. In addition, in the event of an overflow (when a new winning occurs when the maximum number of reserved memories has been reached), an overflow-specified reserved addition command is sent (Yes route in step S401-2).

[0195] In addition, after the reserved addition command is sent from the main control board 40 to the performance control board 41, it is only used when the performance control board 41 displays the "pre-reading notice performance" related to the reserved ball this time, and is not particularly used in the special symbol variation start processing shown in Fig. 12. Therefore, the CPU 40a does not store the reserved addition command in the RAM 40c, and exits the special symbol 1 start port check processing of step S401, and then performs the special symbol 2 start port check processing of step S402.

[0196] (Special pattern change start processing) FIG. 15 is a flowchart showing the special symbol variation start process (step S405) which is a process at the start of variation. As shown in Figure 15, in step S405-1, the CPU 40a determines whether the number of reserved balls for special chart 2 (number of reserved balls for special chart 2) is zero, and if the number of reserved balls for special chart 2 is not zero, proceeds to step S405-6 and performs processing at the start of the change (steps S405-6 to S405-14) for the reserved balls for special chart 2 to be used for the current change display.

[0197] On the other hand, if it is determined that the number of reserved balls for special chart 2 is zero, in step S405-2 the CPU 40a determines whether the number of reserved balls for special chart 1 (number of reserved balls for special chart 1) is zero or not, and if it is determined that the number of reserved balls for special chart 1 is not zero, it proceeds to processing in step S405-6 and performs processing (steps S405-6 to S405-14) related to the start of the change of the special pattern targeted at the reserved balls for special chart 1 used in this change display. The processing of steps S405-1 and S405-2 above determines the "priority change order" of which of the special symbol 1 reserved ball and the special symbol 2 reserved ball will be given priority for the variable display operation (which reserved ball will be consumed preferentially). In this embodiment, if there are reserved balls in both the special symbol 1 reserved ball and the special symbol 2 reserved ball, the special symbol 2 reserved ball will be consumed preferentially. In other words, the special symbol variable display game 2 is executed preferentially over the special symbol variable display game 1. It should be noted that the configuration is not limited to the above-mentioned priority change type, and the reserved balls may be consumed in the order in which they were won.

[0198] In addition, when the number of reserved balls for both the number of reserved balls for special symbol 2 and the number of reserved balls for special symbol 1 is zero, it becomes a "no reserved ball" state. This "no reserved ball" state occurs when a special symbol is waiting and there is no reserved memory, and the effect control board 41 is notified that this state has been entered, and the liquid crystal display device 20 is controlled to switch to a demo screen display for waiting for customers (customer waiting demo screen). Therefore, when it becomes "no reserved ball", the process proceeds to step S405-3, and the CPU 40a determines whether the special symbol operation status is "waiting (00H)", which indicates a "no reserved ball" state.

[0199] If it is determined in step S405-3 that the special symbol operation status is not "waiting (00H)", that is, if it is determined that the special symbol operation status is "waiting (01H)", the CPU 40a switches the special symbol operation status to "waiting (00H)" in step S405-4 (stores 00H in the special symbol operation status). Then, in step S405-5, the CPU 40a transmits a "demo display command" to the performance control board 41 as a performance control command to display a customer waiting demo screen, and ends the special symbol variation start process. Thereafter, if the status is "standby (00H)" when the determination process of step S405-3 is executed, the CPU 40a ends the special symbol variation start process without transmitting a demo display command again.

[0200] In each of the cases where it is determined in step S405-1 that the number of reserved balls for special chart 2 is not zero, and in each of the cases where it is determined in step S405-2 that the number of reserved balls for special chart 1 is not zero (when the number of reserved balls for special chart 2 is zero but the number of reserved balls for special chart 1 is not zero), the CPU 40a performs processing (steps S405-6 to S405-14) related to the start of the change in the special pattern targeted at the reserved balls used in the current change display. Here, with regard to the processing of steps S405-6 to S405-14 described below, if the judgment in step S405-1 above is 'No', the processing will be for the Special Chart 2 reserved ball, and if the judgment in step S405-2 above is 'No', the processing will be for the Special Chart 1 reserved ball. However, since the processing method is the same, in order to avoid repetition, we will explain without distinguishing between processing for the Special Chart 1 reserved ball and processing for the Special Chart 2 reserved ball unless there is a particular need to do so.

[0201] In step S405-6, the CPU 40a subtracts 1 from the number of reserved balls (the number of reserved balls related to the special symbol side used in this variable display operation - 1), and in the following step S405-7, sends a "reserved subtraction command" including the information on the number of reserved balls after subtraction to the performance control board 41. By this reserved subtraction command, the performance control board 41 grasps the remaining number of reserved balls after the current number of reserved balls has been consumed, and shifts the currently displayed reserved display.

[0202] In step S405-8, the CPU 40a sets special symbol operation confirmation data. This special symbol operation confirmation data is information specifying the special symbol on the side of the current fluctuation start. For example, if special symbol 1 is the side of the fluctuation start, "00H (special symbol 1 fluctuation start designation)" is stored in a predetermined area (special symbol operation confirmation data storage area) of the RAM 40c, and if special symbol 2 is the side of the fluctuation start, "01H (special symbol 2 fluctuation start designation)" is stored in the predetermined area (special symbol operation confirmation data storage area) of the RAM 40c.

[0203] In step S405-9, the CPU 40a shifts the reserved data stored in the special symbol reserved memory area of ​​the RAM 40c, and in the following step S405-10, clears the reserved 4 memory area. In the processing of these steps S405-9 to S405-10, the reserved data (random numbers for jackpot determination, random numbers for special symbol determination, and random numbers for variable patterns) stored in the reserved memory area (reserved 1 memory area) corresponding to the reserved memory number n = 1 are read out and stored in the random number memory area for determination of the RAM 40c, and the reserved data stored in the reserved memory areas (reserved 2 memory area, reserved 3 memory area, reserved 4 memory area) corresponding to the reserved n memory area (n = 2, 3, 4) are stored in the reserved memory areas corresponding to 'n-1' (step S405-9), and the reserved 4 memory area is cleared to provide an empty area (step S405-10).

[0204] In step S405-11, the CPU 40a performs processing to send a variable number remaining designation command and a game state command. Here, the CPU 40a determines whether the "time reduction counter" that counts the number of time reductions in the time reduction state is zero, and if the number of time reductions is not zero, it sends a "variable number remaining designation command" including the number of time reductions to the performance control board 41. This "variable number remaining designation command" enables the performance control board 41 to execute processing to grasp and notify the number of time reductions. The CPU 40a also performs processing to transmit to the performance control board 41 a game state command that specifies the current game state.

[0205] In step S411, the CPU 40a executes a jackpot random number determination process for performing a jackpot lottery. Details of the jackpot random number determination process will be described later.

[0206] In step S412, the CPU 40a executes a symbol lottery process for carrying out a symbol lottery. The details of the symbol lottery process will be described later.

[0207] In step S413, the CPU 40a executes a variation pattern lottery process for performing a variation pattern lottery. Details of the variation pattern lottery process in this embodiment will be described later.

[0208] As mentioned above, the results of the jackpot lottery and the pattern lottery at the start of the fluctuation are stored in RAM 40c. The reason for this is that these lottery results are not only used in the special pattern management process (step S400), but are also used in subsequent special electric device management processes (step S209), etc. This is different from the process at the time of pre-reading determination in which the lottery result is not stored in the RAM 40c.

[0209] Although not illustrated, if the result of the jackpot lottery is a jackpot, the CPU 40a performs the necessary setting process to specify the game state after the jackpot game as a setting process to transition the game state following step S413 (game state transition preparation process).

[0210] In step S405-12, the CPU 40a stores 5AH (ON state) in the special symbol N changing flag (N=1, 2) that specifies that a changing display is in progress. The "special symbol N changing flag" is a flag that indicates whether the target special symbol out of special symbols 1 and 2 is changing, and when the flag is in the ON state (=5AH), it indicates that the target special symbol is changing, and when the flag is in the OFF state (=00H), it indicates that the target special symbol is stopped. The special symbol 1 changing flag (N=1) corresponds to the special symbol 1, and the special symbol 2 changing flag (N=2) corresponds to the special symbol 2.

[0211] In step S405-13, the CPU 40a executes a command transmission process at the start of fluctuation. In this command transmission process, in order to notify the performance control board 41 of the fluctuation pattern selected in the fluctuation pattern lottery in step S413, a "fluctuation pattern designation command" including fluctuation pattern information that can identify the fluctuation pattern is created as a performance control command and transmitted to the performance control board 41. Furthermore, in the command transmission process, a decorative symbol designation command is created based on the symbol lottery result in step S412, and is transmitted to the performance control board 41. The decorative symbol designation command is composed of two bytes: a high-order byte (MODE) that designates the reserved type, and a low-order byte (EVENT) that designates the type of special symbol. Therefore, this decorative symbol designation command includes information on the reserved type and the type of special symbol (symbol lottery result). Since this decorative symbol designation command includes information on the type of special symbol, it is primarily used in the performance control board 41 when determining the combination of decorative symbols (symbol types that have a reach symbol as a component) when forming a ready-to-win state, the combination of decorative symbols (decorative stop symbols) that are finally stopped and displayed, and the preview effects corresponding to the winning types in the symbol variable display game.

[0212] In step S405-14, the CPU 40a executes the setting process at the time of fluctuation start, and ends the special symbol fluctuation start process. Here, the CPU 40a switches the special symbol operation status to "fluctuating (02H)" (stores 02H in the special symbol operation status), and clears the random number storage area for judgment.

[0213] (Jackpot random number determination process) FIG. 16 is a flowchart showing the jackpot random number determination process (step S411), FIG. 17 is a diagram showing an example of a jackpot determination table, and FIG. 18 is a diagram explaining the jackpot random number determination method.

[0214] As shown in FIG. 16, in step S411-1, the CPU 40a selects a big win determination table according to the reserved type (special chart 1, special chart 2). Here, a predetermined area (address) of the ROM 40b stores a jackpot determination table as shown in Fig. 16. The jackpot determination table is provided for each reserve type (special chart 1, special chart 2), but in this embodiment, the same value is set regardless of the reserve type. The jackpot determination table shows the determination reference value TH for low probability states and high probability states. In this embodiment, the jackpot random number determination is performed by determining a reference value TH within the range of values ​​that the jackpot determination random number can take, and determining whether or not a jackpot has occurred (a jackpot lottery) is performed based on the results of comparing the magnitude relationship between the jackpot determination random number and the reference value TH. As an example, a method is adopted in which a jackpot determination result is obtained when the value of the jackpot determination random number is within the range of "0 to the reference value TH," and a miss determination result is obtained otherwise.

[0215] As the judgment reference value TH, two types are set: a judgment reference value TH1 (205) used to judge a low probability state, and a judgment reference value TH2 (658) used to judge a high probability state. As shown in Figures 17 and 18, the judgment reference value TH2 for the high probability state is set to a larger value than the judgment reference value TH1 for the low probability state, thereby increasing the probability of winning a jackpot when the high probability state is judged.

[0216] In the above, an example was given in which the lower limit value for determining a jackpot in the jackpot random number determination is set to "0", that is, a jackpot determination result is obtained if the random number for jackpot determination is within the range of "0" to "determination reference value TH", but the lower limit value for determination can also be a number greater than "0".

[0217] In step S411-2, the CPU 40a determines whether the random number for determining a jackpot is less than the lower limit value. The lower limit value is the lower limit value for determining a jackpot (the lower limit value of the numerical range in which a determination result of a jackpot is obtained), for example, "0". If the random number for determining a jackpot is less than the lower limit value, it is determined to be a miss, and the process of steps S411-3 to S411-7 described below is skipped, and the jackpot random number determination process is terminated. In addition, when the judgment lower limit value = 0, it is not necessary to provide the processing of step S411-2, since it is usually impossible for the random number for jackpot judgment to take a value less than 0. The processing of step S411-2 is effective when the judgment lower limit value is a value greater than 0.

[0218] If the random number for determining a big win is not less than the lower limit value in step S411-2, the CPU 40a determines in step S411-3 whether or not the current gaming state is a high probability state.

[0219] When it is determined that the state is not a high probability state, the CPU 40a acquires the determination reference value TH1 for a low probability state in the big win determination table in step S411-4. On the other hand, if it is determined that the state is in a high probability state, the CPU 40a acquires the determination reference value TH2 for high probability in the big win determination table in step S411-5.

[0220] In step S411-6, the CPU 40a determines whether or not the random number for determining a big win is less than the determination reference value TH based on the determination reference value TH1 or the determination reference value TH2. If it is determined that the random number for determining a jackpot is less than the determination reference value TH, in step S411-7 the CPU 40a updates the jackpot determination flag to 5AH and terminates the jackpot random number determination process; if it is determined that the random number for determining a jackpot is not less than the determination reference value TH, it skips step S411-6 and terminates the jackpot random number determination process.

[0221] In addition, if the random number for determining a jackpot is determined to be less than the lower judgment limit value in step S411-2, and if the random number for determining a jackpot is determined to be not less than the judgment reference value TH in step S411-6, the jackpot determination flag should be updated to a value indicating that it is not a jackpot (=5AH), specifically a miss (=00H).However, in the jackpot random number determination process of step S411, the process of updating the jackpot determination flag to 00H, which indicates a miss, is not performed, and is instead performed in the special pattern confirmation time processing of step S407.

[0222] (Pattern lottery processing) FIG. 19 is a flowchart showing the symbol lottery process (step S412), and FIG. 20 is a diagram showing an example of a symbol table.

[0223] As shown in Fig. 20, a symbol table is provided for each jackpot lottery result. In the symbol table, the selection rate of the type of special symbol (jackpot type, loss type) is set for each jackpot lottery result. Here, in the pattern table, the numerical values ​​stored for each type of special pattern to be selected represent the allocation value (value representing the allocation) of the selection rate, assuming that the random number for determining the special pattern can take on 250 possible values ​​from 0 to 249. According to the jackpot pattern table, if you win a jackpot on Special Chart 1, the jackpot type will be "Jackpot 1" with a selection rate of 250 / 250, meaning that it will always be determined. Also, if you win a jackpot on Special Chart 2, the jackpot type will be determined as "Jackpot 1" with a selection rate of 0 / 250, meaning that "Jackpot 1" will not be determined, whereas "Jackpot 2" will be determined with a selection rate of 165 / 250, and the jackpot type will be "Jackpot 3" with a selection rate of 85 / 250.

[0224] Furthermore, according to the pattern table for losses, if a loss is determined on special chart 1, the loss type will be determined as "Loss 1" with a selection rate of 220 / 250, the loss type will be determined as "Loss 2" with a selection rate of 25 / 250, and the loss type will be determined as "Loss 3" with a selection rate of 5 / 250. Also, if a miss is determined on Special Chart 2, the miss type will be determined as "Miss 1" with a selection rate of 220 / 250, and the miss types will be "Miss 2" and "Miss 3" with a selection rate of 15 / 250 each.

[0225] In step S412-1, the CPU 40a selects a pattern table corresponding to the reserved type (special pattern 1, special pattern 2).

[0226] In step S412-2, the CPU 40a acquires a random number for determining a special symbol and a jackpot determination flag. In step S412-3, the CPU 40a refers to a symbol table corresponding to the jackpot determination flag (jackpot / loss), and determines the type of special symbol (jackpot type, loss type) by lottery based on the random number for determining a special symbol.

[0227] In step S412-4, the CPU 40a stores the special symbol determination data corresponding to the type of special symbol determined in step S412-3 in a predetermined area of ​​the RAM 40c, and ends the special stop symbol creation process.

[0228] (Variation pattern lottery processing) FIG. 21 is a flowchart showing the variation pattern lottery process (step S413). In step S413-1, the CPU 40a determines whether or not a jackpot has occurred. That is, based on the jackpot determination flag, it determines whether or not a jackpot has occurred (=5AH).

[0229] If it is determined in step S413-1 that there is no big win (a loss), the CPU 40a selects a loss fluctuation pattern table in step S413-2, and then proceeds to a fluctuation pattern selection process in step S413-4. On the other hand, if it is determined in step S413-1 that a big win has occurred, the CPU 40a selects a big win fluctuation pattern table in step S413-3, and then proceeds to a fluctuation pattern selection process in step S413-4.

[0230] In step S413-4, the CPU 40a refers to the variation pattern table selected in step S413-2 or step S413-3, determines a variation pattern based on the variation pattern random number, and ends the variation pattern lottery process.

[0231] FIG. 22 is a diagram showing an example of a variation pattern lottery table. The fluctuation pattern table is stored in the ROM 40b. In addition, although FIG. 22 illustrates the fluctuation pattern table used in the time-saving state, in reality, a fluctuation pattern table used in the non-time-saving state is also provided.

[0232] As shown in Figure 22, in the lottery for the fluctuation pattern when a loss occurs, the candidate fluctuation patterns (fluctuation patterns that can be selected by lottery) are seven types: "Normal Fluctuation 1s," "Normal Fluctuation 12s1," "Normal Fluctuation 12s2," "Super Reach 1," "Super Reach 2," "Super Reach 3," and "Super Reach 4." In addition, when drawing the variation pattern for the jackpot, there are four possible variation patterns: "Super Reach 1," "Super Reach 2," "Super Reach 3," and "Super Reach 4."

[0233] Here, among the above-mentioned fluctuation patterns, "normal fluctuation 1s", "normal fluctuation 12s1", and "normal fluctuation 12s2" in particular belong to fluctuation patterns that correspond to "misses" that are not selected when a jackpot occurs (hereinafter, these may be referred to as "miss fluctuation patterns").

[0234] In this embodiment, the variation pattern lottery when a loss occurs is performed using a different variation pattern table for each type of loss (loss 1, 2, 3), regardless of whether it is special chart 1 or 2. Here, as mentioned above, the selection rates for each of the loss types "Miss 1," "Miss 2," and "Miss 3" are different in the symbol lottery, with "Miss 1" having the highest selection rate and "Miss 2" and "Miss 3" having lower selection rates than "Miss 1." In other words, if the result of the jackpot lottery is a "Miss," in most cases "Miss 1" will be selected as the loss type.

[0235] For the variation pattern lottery for Special Chart 2, when the loss type is "loss 1", the variation pattern lottery is performed according to the number of reserved balls. For this reason, among the variation pattern tables for Special Chart 2, different tables are prepared for each number of reserved balls as the variation pattern table used when the loss type is "loss 1".

[0236] Here, in the fluctuation pattern table, the numerical value stored for each fluctuation pattern to be selected represents the distribution value (value representing the distribution) of the selection probability on the assumption that the random number for determining the fluctuation pattern can take on 1000 possible values ​​from 0 to 9999. For example, in the fluctuation pattern table for special chart 1, in the table for "miss 1" and "number of reserved balls = 0", the stored value for "normal fluctuation 1s" is "10000", which means that the winning probability of "normal fluctuation 1s" is "10000 / 10000". The above allocation values ​​are shown as the stored values ​​in the table for the sake of convenience of explanation only, and the actual fluctuation pattern table will store the judgment reference value used in the above-mentioned jackpot random number judgment. For example, in the above table for "miss 1" and "reserved balls = 0", the actual stored value (judgment reference value) will be "9999", and in that case, if the fluctuation pattern random number is 9999 or less, "normal fluctuation 1s" will be selected.

[0237] As can be seen by referring to the distribution values ​​shown in Figure 22, in the variation pattern lottery for special chart 2 corresponding to the case of "miss 1", only "normal variation" is selected. In addition, in the lottery for the variation pattern of special chart 2 corresponding to the case of "miss 1", the more balls there are in reserve, the more likely a normal variation pattern with a shorter variation time will be selected.

[0238] <5. Processing of the performance control board> Next, we will explain the processing performed by the CPU 41a of the performance control board 41 of this embodiment. The processing of the CPU 41a mainly includes main processing (performance control side main processing: FIG. 23) and timer interrupt processing (performance control side timer interrupt processing: FIG. 24) that is started by a regular interrupt.

[0239] [5.1 Main processing on the performance control side] FIG. 23 is a flowchart showing the main processing on the performance control side. First, in step S501, the CPU 41a performs the necessary initial setting process before the start of the game operation. Here, the initial setting process includes, for example, setting a command reception interrupt, returning the movable body accessory 50 to its original position, initial setting of the CTC, enabling timer interrupts, and initial setting of register values ​​within the CPU including each part of the microcomputer.

[0240] After the above initial setting process is completed, the main loop process of steps S504 to S511 is performed at predetermined time intervals (16 ms), and otherwise the performance software random number update process of step S503 is repeatedly performed.

[0241] In step S502, the CPU 41a refers to the main loop update counter and determines whether the main loop update period (counter value > 15), which is the trigger for executing the main loop processing, has arrived. The main loop update counter is a counter that is incremented during the performance control side timer interrupt processing, which is executed every 1 ms and will be described later. In this embodiment, the main loop processing is performed every 16 ms, and in the determination processing of step S502, the main loop update counter value is determined. If the value is greater than "15" (Yes in step S502), it is determined that the timing for executing the main loop processing has arrived, and the processing of steps S504 to S511 is executed. Otherwise, in step S503, various software random numbers for performance lotteries used in lotteries to determine the performance scenario are updated until the main loop update period arrives (No in step S502).

[0242] If the main loop update period has arrived (Yes in step S502), the CPU 41a clears the main loop update counter in step S504 and executes demo / power-saving mode processing in step S505. In the demo / power-saving mode processing, a pre-customer waiting effect (demo start waiting display), a customer waiting effect (demo display), and setting processing required for the power-saving mode are executed.

[0243] In step S506, the CPU 41a executes a performance switch input process. In the performance switch input process, the operation state of the operation unit 14 (the performance button 14a, the cross key 14b, the enter button 14c, etc.) is monitored, and when an operation is detected, a performance control process corresponding to the operation is executed.

[0244] In step S507, the CPU 41a performs command analysis processing. In the command analysis processing, it monitors whether a performance control command is stored in the command reception buffer, and if a performance control command is stored, it reads the command and executes performance processing corresponding to the read performance control command. When a performance control command is sent from the main control board 40, it is stored in the command reception buffer of the RWM.

[0245] For example, when a variation pattern designation command and a decorative design designation command are received and stored in the receiving buffer, a presentation scenario is determined based on the information contained in the command in the command analysis process, and the presentation scenario data (presentation scenario data) is stored in the scenario setting area of ​​the RWM. The presentation scenario specifies a time schedule for when and for how long one or more presentations should be made.

[0246] In step S508, the CPU 41a executes a scenario update process. In this scenario update process, the timer values ​​required for executing the effect scenario are updated, and the effect scenario is advanced based on the timer values. A typical example of the timer is an effect scenario timer that manages a time schedule for the timing of effect occurrence. For example, during the variable period during which the decorative pattern is displayed in a variable manner, which is essentially the same period as the variable period during which the special pattern is displayed in a variable manner, this timer manages a time schedule for what effect will be displayed, for how long, and by what means on that time axis. This performance scenario timer is also used in the LED drive data update process (step S510) and the movable body accessory operation update process (step S603), which will be described later.

[0247] In step S509, the CPU 41a performs sound output processing. In the sound output processing, data such as phrases and volume is output to the sound source IC based on the performance scenario data and the performance scenario timer, and sound effects are produced from the speaker 17. This realizes sound effects according to the performance scenario.

[0248] In step S510, the CPU 41a executes an LED drive data update process, which generates a control signal (LED data) for lighting the light display device 16a based on the rendering scenario data and the rendering scenario timer.

[0249] In step S511, the CPU 41a executes an LED output process. In this LED output process, the control signal (LED data) created in the LED drive data update process is output to the lamp driver unit 26b, and the optical display device 16a is turned on and displayed via the lamp driver unit 26b.

[0250] [5.2 Performance control timer interrupt processing] Figure 24 is a flowchart showing the timer interrupt process on the performance control side. The timer interrupt process on the performance control side is started by an interrupt from the CTC every fixed time (1 ms) and is executed while the main process on the performance control side is being executed.

[0251] In step S601, the CPU 41a saves the contents of the register in the stack area, and then in step S602 executes a button input state update process. In this button input state update process, the input state of the operation detection signal from the operation unit 14 is monitored, and when it is confirmed that an operation detection signal has been received, the detection information is stored in a predetermined area of ​​the RWM.

[0252] In step S603, the CPU 41a executes a movable body accessory operation update process, which performs processing for controlling the operation of the movable body accessory 50 based on the performance scenario data and the performance scenario timer. The details of the processing to be executed as the movable body accessory operation update processing in step S603 will be explained later.

[0253] In step S604, the CPU 41a performs SOL·MOT output processing, which outputs control data to the motor drive control unit 51 based on the processing result of the movable body accessory operation update processing. This allows for the realization of a movable object performance using the movable object 50 in accordance with the performance scenario. The output process in step S604 will be explained in detail later.

[0254] In step S605, the CPU 41a performs an LCD command transmission process. In this LCD command transmission process, if there is an LCD command created in the scenario update process (step S508), the LCD command is transmitted to the VDP described above, causing image display control to be executed. As a result, an image according to the performance scenario is displayed.

[0255] In step S606, the CPU 41a executes an RTC information acquisition process. In this RTC information acquisition process, date and time information (RTC information) kept by the RTC is acquired. This RTC information is used when producing effects based on the RTC information.

[0256] In step S607, the CPU 41a increments the main loop update counter, which was reset in step S503 during the performance control main processing and is incremented here.

[0257] In step S608, the CPU 41a restores the saved contents of the register, ends the timer interrupt process, and executes the performance control main process until the next timer interrupt occurs.

[0258] <6. Control of Movable Objects as an Embodiment> [6.1 Overview of the control method as an embodiment] With reference to Figures 25 and 26, an outline of the method for controlling movable object parts according to an embodiment will be described.

[0259] First, for comparison, Figure 25 shows an outline of the configuration of a conventional movable object control system. Here, as an explanatory example, a configuration is shown assuming that there are two movable body parts 50, 50x and 50y. Also, here, the control unit corresponding to the performance control board 41 in the conventional configuration is shown as the performance control board 41'.

[0260] The conventional movable body accessory control system is configured such that the performance control board 41' directly controls each motor driver (52x, 52y). The conventional performance control board 41' (CPU 41a) performs the process of outputting control signals to the motor drivers 52x and 52y in the performance-side timer interrupt process with a 1 ms period. That is, the operation of each role motor (role motor 53x and 53y) is controlled at a time granularity of 1 ms period.

[0261] In addition, the operation of the movable prop 50 may be controlled using the aforementioned position sensor group 55 (position sensors 55x, 55y), but conventionally, as shown in the figure, the detection signals from the position sensors 55x, 55y are input to the performance control board 41' via a parallel / serial conversion unit 57. Based on the detection signals input from the position sensors 55x, 55y, the CPU 41a of the performance control board 41' determines whether the movable body reel 50 has reached the target position at 1 ms intervals using the performance control side timer interrupt processing, and upon determining that the movable body reel 50 has reached the target position, outputs a control signal to the motor drivers 52x, 52y to stop the reel motors 53x, 53y.

[0262] Here, in the conventional configuration as described above, the CPU 41a of the performance control board 41' outputs control signals instructing the operation of the accessory motors 53x and 53y to the motor drivers 52x and 52y at a cycle of 1 ms. To achieve such an operation, the processing load of the performance control board 41' tends to increase in the conventional configuration, and developers are forced to create control data every 1 ms. In other words, this increases the workload of developers in achieving the control of the movable body gadgets.

[0263] In addition, in the conventional configuration described above, the time-dependent control resolution of the accessory motors 53x and 53y is limited to the timer interrupt processing period, specifically, a period of 1 ms, which makes it difficult to move the movable accessory 50 smoothly.

[0264] Furthermore, in the conventional configuration, the CPU 41a of the performance control board 41' controls the operation of the movable props based on the detection signals of the position sensors 55x and 55y, and therefore the performance control board 41' required two communication systems: one for outputting control signals to the motor drivers 52x and 52y, and the other for inputting the detection signals of the position sensors 55x and 55y.

[0265] Therefore, in this embodiment, a configuration using a motor drive control unit 51 as shown in FIG. 26 is adopted as the configuration of the movable body accessory control system. As will be described in more detail later, the motor drive control unit 51 is configured, for example, by an LSI (Large Scale Integration), and has the function of generating and outputting control signals for the motor drivers 52x and 52y required to realize a series of operations in response to a control command Cd input from the outside that specifies a series of operations of the movable body prop 50.

[0266] The series of operations referred to here means a certain series of operations of the movable body part 50, such as the operations from when the movable body part 50 starts to move until it stops, or the operations from when the movable body part 50 starts to move in one direction until it finishes moving when the movable body part 50 is reciprocated. This series of operations may be the operations of the movable body part 50 over a period longer than one cycle of the timer interrupt.

[0267] In the following description, the control signals input to the motor drivers 52x and 52y will be referred to as "driver control signals."

[0268] In this embodiment, the performance control board 41 (CPU 41a) outputs a control command Cd corresponding to the operation pattern to the motor drive control unit 51 in response to the identification of the operation pattern of the movable body prop 50 to be executed based on the aforementioned performance scenario data and performance scenario timer. The motor drive control unit 51 generates a driver control signal according to the control command Cd input from the performance control board 41, and outputs it to the motor drivers 52x and 52y.

[0269] With the above-described configuration, in the gaming machine 1 of this embodiment, in order to realize a series of operations of the movable body device 50, the CPU 41a of the performance control board 41 no longer needs to output driver control signals to the motor drivers 52x, 52y at 1 ms intervals as in the past, which reduces the processing burden on the performance control board 41 in realizing movable body device control and also reduces the burden on developers. As will be described later, in this embodiment, the developer only needs to create data that defines the operation of each segmented operation that makes up the desired operation pattern of the movable body device 50, which significantly reduces the workload compared to the conventional method of creating control data every 1 ms.

[0270] Furthermore, according to the gaming machine 1 of this embodiment, the time-direction control resolution of the accessory motors 53x and 53y is no longer restricted by the timer interrupt processing period (1 ms period) as in the conventional gaming machine, so it is possible to smoothly move the movable accessory 50. Specifically, in this embodiment, the microstep drive mode described later can be used, so that it is possible to smoothly move the movable accessory 50. This allows for improved performance effects in performances using the movable device 50.

[0271] Furthermore, in this embodiment, the motor drive control unit 51 responds to the input of detection signals from position sensors such as position sensors 55x, 55y, etc., provided for the movable body reel 50, and has the function of generating and outputting a motor control signal for moving the target movable body reel 50 to the sensor position in response to a control command Cd from outside. Therefore, when realizing the role operation of moving the movable role 50 to the sensor position, it is no longer necessary to input the detection signals of the position sensors 55x and 55y to the performance control board 41 as in the conventional case.

[0272] In this embodiment, to realize the operation of moving the movable prop 50 to the sensor position, the corresponding control command Cd can be sent from the performance control board 41 to the motor drive control unit 51, just as in the case of realizing other series of operations. Therefore, according to this embodiment, in order to realize a series of various operations of the movable body prop 50, including the operation of moving the movable body prop 50 to the sensor position as described above, it is only necessary to set up one communication system between the performance control board 41 and the motor drive control unit 51, thereby reducing the number of communication systems required compared to conventional methods.

[0273] [6.2 Motor drive control unit] FIG. 27 is a block diagram showing an example of a schematic internal configuration of the motor drive control unit 51. As shown in FIG. The motor drive control unit 51 in this embodiment is capable of simultaneously and in parallel controlling a plurality of motor drivers provided as the motor driver group 52. Specifically, the motor drive control unit 51 in this example is capable of simultaneously and in parallel controlling four motor drivers. In other words, the motor drive control unit 51 in this example has four control systems as control systems for the motor drivers.

[0274] In this embodiment, the control system of the motor driver included in the motor drive control unit 51 is referred to as an "axis," and the four control systems are referred to as the "X-axis," "Y-axis," "Z-axis," and "U-axis," respectively.

[0275] In the figure, only the configuration of the X-axis control system is shown as the "X-axis circuit" as a representative of the four control systems for the X-axis, Y-axis, Z-axis, and U-axis that the motor drive control unit 51 has. The configurations of the other control systems for the Y-axis, Z-axis, and U-axis ("Y-axis circuit," "Z-axis circuit," and "U-axis circuit" in the figure) are omitted from the illustration because they are similar to the configuration of the X-axis circuit.

[0276] As shown in the figure, the motor drive control unit 51 has an I / F (interface) unit 71. The I / F unit 71 is a communication interface unit for performing data communication with an external device, particularly with the performance control board 41 in this embodiment, in accordance with a predetermined data communication standard. The I / F unit 71 is a communication interface unit provided in common to the X-axis circuit, the Y-axis circuit, the Z-axis circuit, and the U-axis circuit. In other words, an external device of the motor drive control unit 51 can communicate individually with the X-axis circuit, the Y-axis circuit, the Z-axis circuit, and the U-axis circuit via the I / F unit 71. The I / F unit 71 may be compatible with, for example, I2C (Inter-Integrated Circuit) bus communication or SPI (Serial Peripheral Interface) bus communication.

[0277] As shown in the figure, the X-axis circuit has a command register control circuit 72, a register section 73, a pre-register section 74, a start / stop control circuit 75, an acceleration / deceleration pulse generation circuit 76, a magnification / frequency division circuit 77, an output form conversion circuit 78, a remaining pulse number counter 79, a current up / down control circuit 80, and a general-purpose input / output control circuit 81. The X-axis circuit also has a pulse signal output terminal OUTx and a rotation direction output terminal DIRx as terminals for outputting control signals to the motor driver. In this embodiment, the motor driver outputs a pulse signal indicating the period of the drive pulse of the accessory motor and a rotation direction indication signal indicating the rotation direction (CW / CCW) of the accessory motor, and the pulse signal output terminal OUTx is a terminal for outputting the pulse signal, and the rotation direction output terminal DIRx is a terminal for outputting the rotation direction indication signal. Hereinafter, the pulse signal output from the pulse signal output terminal OUT will be referred to as the "OUT signal," and the rotation direction indication signal output from the rotation direction output terminal DIR will be referred to as the "DIR signal."

[0278] Furthermore, the X-axis circuit has multiple general-purpose input / output terminals indicated in the figure as "P0x," "P1x," "P2x," and "P3x." These general-purpose input / output terminals are terminals that can be selected to input or output signals. The setting of which signal is input or output for each general-purpose input / output terminal can be made by setting a setting register in the register unit 73, which will be described later.

[0279] The pulse signal output terminal OUT, rotation direction output terminal DIR, and multiple general-purpose input / output terminals P are provided for each axis, and the terminals for each axis are distinguished by adding the alphabet for each axis to the end of their reference numerals. Specifically, the pulse signal output terminal OUT and rotation direction output terminal DIR in the Y-axis circuit, Z-axis circuit, and U-axis circuit are represented by the reference numerals "OUTy," "DIRy," "OUTz," "DIRz," "OUTu," and "DIRu," respectively, and the general-purpose input / output terminals P0, P1, P2, and P3 in the Y-axis circuit, Z-axis circuit, and U-axis circuit are represented by the reference numerals "P0y," "P1y," "P2y," "P3y," "P0z," "P1z," "P2z," "P3z," "P0u," "P1u," "P2u," and "P3u," respectively.

[0280] In the X-axis circuit, the command register control circuit 72 is capable of writing and reading various control commands Cd and status information to and from multiple registers provided in the register section 73 and multiple pre-registers provided in the pre-register section 74 based on instructions from an external device (performance control board 41) input via the I / F section 71.

[0281] The role of the pre-register in the pre-register unit 73 and the control using the pre-register will be explained later.

[0282] The register unit 73 is provided with the following various registers as registers for storing the control commands Cd. RFL register: A register that stores the control command Cd (hereinafter referred to as "RFL command") that specifies the FL speed (initial speed, stopping speed) of the accessory motor. RFH register: A register that stores the control command Cd (hereafter referred to as "RFH command") that specifies the FH speed (operating speed) of the accessory motor. RMV register: A register that stores a control command Cd (hereinafter referred to as "RMV command") that specifies the number of output pulses (target movement amount of the movable body accessory 50) that stops the accessory motor in the positioning operation mode described later. RMG register: A register that stores the control command Cd (hereafter referred to as "RMG command") that specifies the speed multiplier of the accessory motor. RDP register: A register that stores the control command Cd (hereafter referred to as the "RDP command") that specifies the slow-down point (the value that determines the number of remaining pulses at which deceleration begins). RUR register: A register that stores the control command Cd (hereafter referred to as "RUR command") that specifies the acceleration rate of the accessory motor (the larger the value, the longer the acceleration time and the slower the acceleration). RDR: A register that stores the control command Cd (hereafter referred to as "RDR command") that specifies the deceleration rate of the accessory motor (the larger the value, the longer the deceleration time and the more gradual the deceleration).

[0283] An external device such as the performance control board 41 can issue a register write command to instruct the command register control circuit 72 to write the corresponding control command Cd to the various registers described above. In other words, it can instruct the command register control circuit 72 to write the various control commands Cd related to the above-mentioned role motor control to the corresponding registers.

[0284] The register section 73 also includes the following registers for storing values ​​related to the accessory motor control. RPLS: A register that stores the number of remaining pulses. In the positioning operation mode, the number of output pulses stored in the RMV register is set as an initial value, and is then decremented by the remaining pulse number counter 79, which will be described later.

[0285] In addition to the registers exemplified above, the register section 73 also includes a setting register for performing environment settings, operating mode settings, etc., and a status register for storing values ​​indicating the operating status of the motor drive control section 51.

[0286] The motor drive control unit 51 in this embodiment is capable of switching the drive control mode of the accessory motor between the positioning operation mode and the sensor input stop mode. The positioning operation mode is a mode in which the target accessory motor in the accessory motor group 53 is stopped when the number of drive pulses of the target accessory motor reaches a predetermined number of output pulses. In other words, this is a mode in which the target movable accessory 50 is moved by a predetermined target movement amount. The sensor input stop mode is a mode in which the target reel motor is stopped in response to a determination that the target movable reel 50 has reached the position of the position sensor based on the detection signal of the target position sensor in the position sensor group 55.

[0287] The switching between the positioning operation mode and the sensor input stop mode is realized by setting a control command Cd to a predetermined setting register in the register section 73. Specifically, the switching between the positioning operation mode and the sensor input stop mode can be performed by setting a control command Cd to an RMD register provided in the register section 73 as a register for setting the operation mode. In this example, the control command Cd (hereinafter referred to as "RMD command") to the RMD register can specify not only the positioning operation mode and the sensor input stop mode, but also the rotation direction (CW / CCW) of the accessory motor. Furthermore, the RMD command of this example can also specify which general-purpose input / output terminal is to be used as the sensor signal input terminal when the sensor input stop mode is specified. Specifically, the motor drive control unit 51 of this example is designed to select the terminal to which the detection signal from the position sensor is input from among the general-purpose input / output terminals P0 to P3 when the sensor input stop mode is specified, and the RMD command above specifies which general-purpose input / output terminal is to be used as the sensor signal input terminal when the sensor input stop mode is specified.

[0288] The command register control circuit 72 controls the start / stop control circuit 75, acceleration / deceleration pulse generating circuit 76, and magnification dividing circuit 77 based on the control command Cd related to the reel motor control stored in the register section 73, thereby generating and outputting driver control signals (the above-mentioned OUT signal and DIR signal) to realize the operation of the movable reel 50 in accordance with the instructions of the control command Cd.

[0289] The start / stop control circuit 75 controls the pulse generation / output operation by the acceleration / deceleration pulse generation circuit 76 based on instructions from the command register control circuit 72. The acceleration / deceleration pulse generation circuit 76 is a circuit that generates and outputs pulse signals that are the basis of the OUT signal. Specifically, it generates and outputs pulse signals with polarity that corresponds to the rotation direction of the accessory motor, such as generating a pulse signal with positive polarity when rotating the accessory motor forward (CW) and generating a pulse signal with negative polarity when rotating the accessory motor reverse (CCW).

[0290] In response to a start command input from an external device via the I / F unit 71, the command register control circuit 72 outputs a start instruction signal to the start / stop control circuit 75. In response to this start instruction signal, the start / stop control circuit 75 causes the acceleration / deceleration pulse generation circuit 76 to start outputting a pulse signal. The timing at which the acceleration / deceleration pulse generating circuit 76 starts to output pulse signals corresponds to the timing at which the accessory motor starts to be driven.

[0291] Furthermore, the start / stop control circuit 75 stops the output of the pulse signal from the acceleration / deceleration pulse generating circuit 76 based on an instruction from the command register control circuit 72 . Here, examples of the timing for stopping the output of pulse signals by the acceleration / deceleration pulse generating circuit 76 include when the number of output pulses of the OUT signal reaches the "number of output pulses" set in the RMV register described above during the positioning operation mode described above, and when the target movable body part 50 reaches the position of the target position sensor during the sensor input stop mode described above.

[0292] In the sensor input stop mode, the command register control circuit 72 determines whether the target movable body accessory 50 has reached the position of the position sensor based on the detection signal of the position sensor (see "positioning sensor signal" in the figure) input from the general-purpose input / output terminal P designated in advance by the RMD command described above. Then, in response to determining that the target movable body accessory 50 has reached the position of the position sensor, it outputs a stop instruction signal to the start / stop control circuit 75. In response to this stop instruction signal, the acceleration / deceleration pulse generation circuit 76 stops outputting pulse signals.

[0293] In addition, in the positioning operation mode, the command register control circuit 72 outputs a stop instruction signal to the start / stop control circuit 75 based on the count value of the remaining pulse number counter 79 (see "RPLS" in the drawing). The command register control circuit 72 in this example outputs the value of the number of output pulses stored in the RMV register described above to the remaining pulse counter 79 (see "RMV" in the figure). The remaining pulse counter 79 receives a magnification-adjusted pulse signal output by a magnification divider circuit 77 (described later) and counts the remaining pulse number (i.e., the difference between the target number of output pulses set by the control command Cd and the current number of output pulses) by subtracting the pulse count value of the magnification-adjusted pulse signal from the number of output pulses input by the command register control circuit 72. Here, the number of pulses of the magnification-adjusted pulse signal is the same as the number of pulses of the OUT signal. In other words, the remaining pulse counter 79 counts the number of remaining pulses based on the OUT signal.

[0294] In the positioning operation mode, the command register control circuit 72 outputs a stop instruction signal to the start / stop control circuit 75 in response to the number of remaining pulses input from the remaining pulse number counter 79 becoming 0. The command register control circuit 72 also stores the value of the remaining number of pulses in a predetermined status register (RPLS register).

[0295] Here, the start / stop control circuit 75 outputs a value indicating the drive control status of the accessory motor (hereinafter referred to as "drive status value SRUN"), indicated as "SRUN" in the diagram, based on the start instruction signal and stop instruction signal from the command register control circuit 72. This drive status value SRUN is a value for identifying the start timing and end timing (stop timing) of drive control of the accessory motor, and in this example, for example, "1" (H level) means that it is being driven, and "0" (L level) means that it is stopped. The start / stop control circuit 75 in this example raises the drive status value SRUN from "0" to "1" when a start instruction signal is input from the command register control circuit 72, and lowers the drive status value SRUN from "1" to "0" when a stop instruction signal is input from the command register control circuit 72.

[0296] The command register control circuit 72 stores the drive status value SRUN output by the start / stop control circuit 75 in a predetermined status register (hereinafter referred to as the “SRUN register”) provided in the register section 73 . This allows the performance control board 41 to inquire about the status information of whether the prop motor is running or stopped by issuing a register read command to the command register control circuit 72 instructing it to read the value of the SRUN register.

[0297] The acceleration / deceleration pulse generating circuit 76 generates and outputs a pulse signal at a frequency based on instructions from the command register control circuit 72, based on instructions from the start / stop control circuit 75.

[0298] The frequency of the pulse signal generated and output by the acceleration / deceleration pulse generating circuit 76 is controlled based on the aforementioned RFL command (FL speed), RFH command (FH speed), RUR command (acceleration rate), RDP command (slow-down point), and RDR command (deceleration rate).

[0299] Specifically, in response to the issuance of the start command described above, the acceleration / deceleration pulse generating circuit 76 is instructed by the command register control circuit 72 to specify the FL speed indicated by the RFL command, the acceleration rate indicated by the RFH command, the FH speed indicated by the RFH command, and the deceleration rate indicated by the RDR command. In response to a command from the start-stop control circuit 75 to start outputting a pulse signal, the acceleration / deceleration pulse generating circuit 76 first begins outputting a pulse signal at a frequency corresponding to the FL speed, and gradually increases the frequency of the pulse signal at a frequency increase rate corresponding to the acceleration rate. Then, when the frequency of the pulse signal reaches the frequency corresponding to the FL speed, the frequency of the pulse signal is maintained at the frequency corresponding to the FL speed. Thereafter, at the timing of the slow-down point indicated by the RDP command, the command register control circuit 72 issues a deceleration command to the acceleration / deceleration pulse generating circuit 76. In response to this deceleration command, the acceleration / deceleration pulse generating circuit 76 reduces the frequency of the pulse signal at a frequency decrease rate corresponding to the deceleration rate. Then, in response to a command from the start-stop control circuit 75 to stop outputting the pulse signal, the acceleration / deceleration pulse generating circuit 76 stops outputting the pulse signal.

[0300] This allows the operation of the target accessory motor to be controlled in the manner specified by the RFL command (FL speed), RFH command (FH speed), RUR command (acceleration rate), RDP command (slow-down point), and RDR command (deceleration rate).

[0301] The magnification frequency dividing circuit 77 divides the frequency of the pulse signal output from the acceleration / deceleration pulse generating circuit 76 based on an instruction from the command register control circuit 72 . Specifically, the command register control circuit 72 instructs the speed multiplier indicated by the above-mentioned RMG command to the multiplier frequency divider circuit 77. The multiplier frequency divider circuit 77 divides the frequency of the pulse signal input from the acceleration / deceleration pulse generator circuit 76 by a division ratio corresponding to the instructed speed multiplier. This makes it possible to adjust the speed multiplier of the accessory motor's operating speed (rotation speed) in accordance with the RMG command.

[0302] The output form conversion circuit 78 generates an OUT signal and a DIR signal based on the pulse signal output from the magnification frequency division circuit 77. As will be understood from the above explanation, the pulse signal in this example has a polarity that corresponds to the rotation direction of the accessory motor, and the output form conversion circuit 78 generates and outputs the DIR signal based on the polarity of the input pulse signal, and generates and outputs a signal that is the absolute value of the pulse signal as the OUT signal.

[0303] Based on instructions from the command register control circuit 72, the general-purpose input / output control circuit 81 controls the signal input / output for the general-purpose input / output terminals P0x to P3x. Signals that can be assigned to the general-purpose input / output terminals P0x to P3x include the drive status value SRUN described above, a current up / down signal CDWN output by the current up / down control circuit 80 described below, and a positioning sensor signal. The drive status value SRUN and the current up / down signal CDWN can be output to the outside. Furthermore, the positioning sensor signal can at least be input from the outside. In this example, the specifications allow the current up / down signal CDWN to be output only from the general-purpose input / output terminal P1 or P3.

[0304] The current up / down control circuit 80 performs control to realize a current up function and a current down function (hereinafter collectively referred to as "current up / down function").

[0305] The current-up function here refers to a function that delays the output of the drive pulse for the accessory motor by a specified period from the timing of the start command, rather than outputting the drive pulse immediately at the timing of the start command. This function provides a grace period for raising the output current value of the motor driver to the current value during driving (driving current value) before applying the drive pulse to the accessory motor. If a drive pulse is applied before the output current value of the motor driver stabilizes, the accessory motor may lose synchronism, so the grace period is set to prevent this. Also, by setting the grace period, a period is obtained in which the mechanism (movable accessory 50) can be stabilized in the excitation position, which also prevents the accessory motor from losing synchronism. Hereinafter, the above grace period will be referred to as the "current-up period."

[0306] The current-down function maintains the output current value of the motor driver at the driving current value described above for a predetermined period from the timing when the accessory motor stops driving (the timing when the application of the drive pulse stops), and then reduces it to a standby current value (standby current value). By providing a period in which the output current value of the motor driver is maintained at the driving current value for a predetermined period from the timing when the accessory motor stops driving, it is possible to ensure that the accessory motor stops for a certain period of time. Furthermore, by reducing the output current of the motor driver from the driving current value to the standby current value, it is possible to reduce heat generation in the accessory motor. Hereinafter, the period from the timing when the accessory motor is stopped to the time when the output current value of the motor driver is maintained at the driving current value will be referred to as the "current down period."

[0307] The current up / down control circuit 80 generates and outputs a current up / down signal CDWM for realizing the current up / down function described above.

[0308] FIG. 28 is a diagram illustrating the operation of the current up / down control circuit 80. Here, the above-mentioned drive status value SRUN and OUT signal are also shown together with the current up / down signal CDWM.

[0309] In the figure, the timing indicated as "CSTA" indicates the timing when the start command instructs the accessory motor to start driving. The current up / down control circuit 80 outputs a start instruction permission signal to the start / stop control circuit 75 in response to the lapse of a predetermined current up period from the timing of the drive start instruction by this start command. The timing of the drive start instruction by the start command is instructed from the command register control circuit 72 to the current up / down control circuit 80 .

[0310] When the current up / down function is enabled, the start / stop control circuit 75 issues a command to start outputting a pulse signal from the acceleration / deceleration pulse generating circuit 76 in response to not only the start instruction signal from the command register control circuit 72 but also the start instruction permission signal. As a result, as shown in the figure, the OUT signal starts to be output as a pulse after a predetermined current-up period has elapsed from the timing of the drive start instruction by the start command.

[0311] As for the drive stopping side, as described above, the start / stop control circuit 75 stops the pulse generation / output operation of the acceleration / deceleration pulse generation circuit 76 at the timing indicated by the stop instruction signal from the command register control circuit 72.

[0312] The current up / down control circuit 80 generates the current up / down signal CDWN as follows. First, in response to the timing of the drive start instruction by the start command, the current up / down signal CDWN is changed from OFF level (e.g., L level) to ON level (e.g., H level). Then, when the timing to stop the pulse output is instructed by the command register control circuit 72, the current up / down signal CDWN is changed from ON level to OFF level in response to the elapse of a predetermined current down period from the timing to stop the pulse output. For confirmation, the timing at which the pulse output is stopped is the same as the timing at which the command register control circuit 72 outputs the stop instruction signal to the start / stop control circuit 75.

[0313] In this example, the ON / OFF of the current up / down function, the current up period, and the current down period can be set by a control command Cd from an external device via the I / F unit 71. In this way, the command register control circuit 72 instructs the current up / down control circuit 80 on whether the current up / down function is ON or OFF, and on the current up period and current down period, which are set by the control command Cd.

[0314] In the gaming machine 1, the current up / down function is realized based on the current up / down signal CDWN generated as described above, but the specific method and configuration as an embodiment for realizing the current up / down function (control of the output current value of the motor driver) based on this current up / down signal CDWN will be explained again later.

[0315] As explained with reference to FIG. 27, in this embodiment, the command register control circuit 72 determines whether the target movable body role object 50 has reached the position of a target position sensor in the position sensor group 55 in the sensor input stop mode based on the detection signal from that sensor. However, the motor drive control unit 51 in this example is able to adjust the conditions for determining whether the target movable body role object 50 has reached the position of that position sensor. Specifically, in this example, the determination of whether the target movable body role object 50 has reached the position sensor is made when the detection signal from the position sensor remains at an ON level for a specified time or longer, and the specified time is adjustable. This adjustment can be made by a control command Cd from an external device via the I / F unit 71. In this example, the specified time is set between 1.0 ms and 2.0 ms, for example, and preferably is approximately 1.2 ms. If the specified time is too short, noise may cause a false determination that the object has reached the position sensor when in fact it has not, whereas if the specified time is too long, the object may not have reached the position sensor. Therefore, by appropriately setting the specified time, it is possible to improve the accuracy of determining whether the object has reached the position sensor.

[0316] [6.3 Control data creation method as an embodiment] With reference to Figures 29 to 33, examples of control data that should be created to realize movable body accessory control as an embodiment, and a method for creating the control data will be described.

[0317] FIG. 29 is an explanatory diagram of various control data used to realize the movable body accessory control according to the embodiment. As shown in the figure, the various control data used to realize the movable body reel control of the embodiment include three types of data: reel sub-scenario data D1, divided action management data D2, and control command management data D3.

[0318] The developer creates the role object sub-scenario data D1, the divided action management data D2, and the control command management data D3 using a computer device 100. The computer device 100 may be, for example, a personal computer, a tablet terminal, a smartphone, or any other computer device capable of software processing.

[0319] The developer stores the created role object sub-scenario data D1, divisional action management data D2, and control command management data D3 in the ROM 41b of the performance control board 41. The CPU 41a of the performance control board 41 controls the motor drive control unit 51 described above based on the reel sub-scenario data D1, the division operation management data D2, and the control command management data D3 stored in the ROM 41b, thereby realizing the operation of the movable reel 50 in accordance with the performance scenario.

[0320] FIG. 30 is an explanatory diagram of an example of the data structure of the reel sub-scenario data D1. In the performance using the movable body accessory 50, a plurality of operation patterns to be expressed are usually defined as the operation pattern of the movable body accessory 50. For example, a plurality of operation patterns of the movable body accessory 50 are defined in advance in response to a case where it is desired to express the operation of the movable body accessory 50 according to different operation patterns for each scene during the game, such as an operation pattern to be expressed when a jackpot is notified, an operation pattern to be expressed when a probability variation is notified, or when a specific operation is detected. The reel sub-scenario data D1 is data that manages the movement of the movable reel 50 in units of such movement patterns. The unit of the movement pattern can be determined arbitrarily, and in this embodiment, at least one movement pattern may include one or more movement parts, which will be described later.

[0321] In addition, in the performance using the movable body role device 50, there may be a performance in which multiple movable body role devices 50 are simultaneously driven. In such a case, the operation pattern can be defined as a single operation pattern by combining the operations of the multiple movable body role devices 50.

[0322] In the figure, only the management data for some of the movement patterns managed by the role-playing sub-scenario data D1 stored in ROM 41b is shown. Specifically, only the data for three movement patterns, "B0_Combination," "B02_Gimmick," and "B03_When using a △○×□ chance item," is shown.

[0323] In the role-playing device sub-scenario data D1, the management data for each movement pattern stores identification information for each "section movement" included in that movement pattern. For example, the movement pattern "B0_combine" is defined as including four section movements: "Excitation ON," "B01_No1," "B01_No1_wait," and "B01_No2." As shown in the figure, the management data for this "B0_combine" stores "Excitation ON," "B01_No1," "B01_No1_wait," and "B01_No2" as identification information for these section movements. In addition, the operation pattern of "B02_Gimmick" is defined as including four divisional operations: "Excitation ON," "B02_No1," "B02_No1_wait," and "B02_No2-3," and the management data for this "B02_Gimmick" stores "Excitation ON," "B02_No1," "B02_No1_wait," and "B02_No2-3" as identification information for these divisional operations.

[0324] Furthermore, the management data for each operation pattern is associated with information on "operation type" for each divided operation. This information on operation type describes the type of operation that the CPU 41a should execute, and when "operation type = operation call" is described as shown in the figure, the CPU 41a will call the data of the corresponding divided operation from the divided operation management data D2 based on the identification information of the divided operation associated with the information on the operation type.

[0325] FIG. 31 is an explanatory diagram of an example of the data structure of the divided operation management data D2. The divided action management data D2 is data for managing, for each divided action, information used to realize that divided action. In the figure, only the management data for the three section operations "B01_No1", "B01_No1_wait", and "B01_No2" illustrated in FIG. 30 are extracted from all the section operations and shown.

[0326] In the divided operation management data D2, the management data for each divided operation stores information about the "operation type" included in that divided operation. This operation type may store any one of information about "drive control unit operation," "waiting for drive control unit operation completion," and "standby." The drive control unit operation refers to the operation of the motor drive control unit 51, specifically, the operation of the motor drive control unit 51 that is executed by issuing the above-mentioned control commands Cd (RFL command, RFH command, RMV command, RMG command, RDP command, RUR command, RDR command, start command, etc.), and the wait for drive control unit operation completion refers to waiting for the completion of the operation executed by the motor drive control unit 51 in response to such control commands Cd.

[0327] In the management data for each classification operation, "step" information is associated with each operation type information. Here, the unit of the value described in "step" is the time for one timer interrupt (1 ms in this example). Furthermore, among the information on the operation types, the operation type of "drive control unit operation" is associated with information on "part name."

[0328] In the illustrated example, in the management data for "B01_No1," the first row is a row for operation type = drive control unit operation, and the second and third rows are rows for operation type = drive control unit operation completion waiting. The first row for operation type = drive control unit operation has "1" as the "step" information and the part name "[C44_201_XY_TAMA_B01]{ball}TY106_pre-change △○×□ ball gimmick notice_combined No.1_forward rotation XY axis data." Additionally, the second and third rows for operation type = drive control unit operation completion waiting have "1000" as the "step" information.

[0329] Furthermore, the management data for "B01_No1_wait" is a wait operation, so it only has a line with operation type = wait. As shown in the figure, "2500" is written as the value of "step."

[0330] In the management data for "B01_No2," the first line is a line for operation type = drive control unit operation, and the second and third lines are lines for operation type = drive control unit operation completion waiting, and the first line for operation type = drive control unit operation has "1" as the "step" information and the part name "[C44_201_XY_TAMA_B01]{ball}TY106_before-change △○×□ ball gimmick notice_combined No2_reverse XY axis data to sensor" written. Also, the second and third lines for operation type = drive control unit operation completion waiting have "1000" written as the "step" information.

[0331] Here, in the management data for "B01_No1" and "B01_No2", there are two lines for waiting for the drive control unit operation to finish, because the operation pattern of "B0_Combine", which includes the division operations of these "B01_No1" and "B01_No2", is defined as an operation pattern realized by the operation of two movable parts 50 on the X-axis and Y-axis. In this case, the operation of the movable body reel 50 is controlled by sending control commands Cd corresponding to the X-axis circuit and the Y-axis circuit in the motor drive control unit 51, so that the drive end timing of the reel motor for each of these X-axis circuit and Y-axis circuit can be monitored individually, two rows are provided for waiting for the drive control unit to end operation, and the operation wait time (value of ``step'') for each axis can be determined.

[0332] In the management data for each divided operation, for the row where the operation type = drive control unit operation, the CPU 41a reads the source code associated with the name information from the control command management data D3 based on the name information described in the "part name", and performs processing to send the corresponding control command Cd to the motor drive control unit 51 according to the source code. When name information corresponding to the motor control operation of multiple axes is described as a "part name," as in the management data "B01_No1" and "B01_No2" described above, the control command management data D3 describes source code for transmitting control commands Cd for each axis in association with the name information, and by transmitting corresponding control commands Cd to the motor drive control unit 51 in accordance with the source code, drive control of the defined role motor (i.e., operation of the movable role 50) is realized for each axis.

[0333] Furthermore, for the row where the operation type is "waiting for drive control unit operation to end," the CPU 41a performs an operation end confirmation process according to the value described in "step." Specifically, when a control command Cd (including the above-mentioned start command) is sent according to the information in "part name" in the row where the operation type is "drive control unit operation," the CPU 41a determines whether the status of the motor drive control unit 51 has changed to a drive stop status within the time specified by the value of "step" in the row where the operation type is "waiting for drive control unit operation to end." Here, if there are multiple rows with operation type = drive control unit operation end waiting, such as "B01_No1" and "B01_No2," the CPU 41a performs the above confirmation process for each axis based on the "step" values ​​of those rows. Specifically, it queries the drive status value SRUN described above for each axis and determines whether the drive status value SRUN has changed to a value indicating drive stop within the time specified by the "step" value. At this time, it is predefined which row's "step" value to refer to for each axis. For example, among multiple operation types = lines that indicate drive control unit operation end waiting, the X axis, Y axis, Z axis, and U axis can be assigned in order from the lowest row number.

[0334] In this embodiment, if the result of the above confirmation process is that the status of the motor drive control unit 51 does not change to drive stopped within the time specified by the "step" value, fail-safe processing is performed, which will be explained again later.

[0335] Furthermore, for a row where the operation type is standby, the CPU 41a performs a process of waiting for the standby time indicated by the value of "step."

[0336] In addition, in the management data for each divided action shown in the figure, among the information associated with the action type information, "excitation" and "speed" are considered to be information written for the developer's management in this example, and are not considered to be information referenced by the CPU 41a during the control processing of the movable body role object 50.

[0337] As can be understood from the above explanation, the operation of the movable body accessory 50 can be roughly divided into operation pattern units, and each operation pattern can be further divided into section operation units. The section operations that make up the operation patterns include operations such as "B01_No1" and "B01_No2" that are defined as a series of accessory motor operations (i.e., the operation of the movable body accessory 50) that are realized by issuing a control command Cd to the motor drive control unit 51. In this embodiment, the segmented actions that constitute an operation pattern, such as the segmented actions "B01_No1" and "B01_No2", and the series of operations of the movable body role object 50 that are realized by issuing a control command Cd to the motor drive control unit 51, will be called "operating parts". In this case, the information described in the "part name" in the divided action management data D2 can be said to be identification information of the "action part."

[0338] FIG. 32 is an explanatory diagram of an example of the data structure of the control command management data D3. The control command management data D3 is data for managing the control commands Cd to be transmitted to the motor drive control unit 51 for each operating part. FIG. 32 shows an example of control command management data extracted from only some of the defined motion parts. Specifically, only the control command management data is extracted for the operating parts in "B01_No1" with the part name = "[C44_201_XY_TAMA_B01]{ball}TY106_before-change △○×□ ball gimmick notice_combined No1_forward XY axis data", the operating parts in "B01_No2" with the part name = "[C44_201_XY_TAMA_B01]{ball}TY106_before-change △○×□ ball gimmick notice_combined No2_reverse XY axis data to sensor", and the operating parts in the divided operation "B02_No1" of the operation pattern "B02_large gimmick" with the part name = "[C44_201_X_TAMA_B02]{ball}TY106_before-change △○×□ ball large gimmick notice_No1_forward X axis data".

[0339] In the control command management data D3, the management data for each action part describes information on the "part name" of that action part. This allows the CPU 41a to identify the management data of the corresponding action part from the control command management data D3 based on the information on the "part name" described in the management data for each divided action shown in Figure 31.

[0340] In the control command management data D3, the control command management data for each moving part describes a source code including a control command Cd for realizing the movement of the movable body reel 50 as the moving part, and the CPU 41a can transmit the control command Cd for realizing the movement of the movable body reel 50 as the moving part to the motor drive control unit 51 by performing processing in accordance with the source code.

[0341] FIG. 33 shows an example of a work screen Gs for defining motion parts. In this embodiment, a developer defines action parts using an application program for defining action parts (hereinafter referred to as "action part definition application") installed in the computer device 100 shown in FIG. FIG. 33 shows an example of the work screen Gs displayed by this operating parts definition application.

[0342] In the work screen Gs, it is possible to define the operation of each movement pattern of the movable body accessory 50 using a flow chart-like UI (User Interface) as shown on the left side of the figure. There are three types of boxes that can be used in a flowchart: boxes FS1, FS2, and FS3, as shown in the figure. Box FS1 is a box for determining whether or not to use a position sensor for the axis whose operation is being defined. Box FS2 is a box for defining the behavior of a moving part. Box FS3 is a box for defining a wait action such as "B01_No1_wait" described above.

[0343] When box FS2 in the flowchart is selected, the action of the action part can be defined in the definition area Ad shown on the right side of the screen. As shown in the figure, the definition area Ad is provided with a target axis selection area Ar1 and a setting input area Ar2. The definition area Ad is provided with operation units p1, p2, and p3, which allow the selection and setting of the rotation direction of the accessory motor, the operation mode (positioning operation mode / sensor input stop mode), and acceleration / deceleration control mode (for example, linear acceleration / deceleration control mode / S-curve control mode), respectively. FIG. 33 shows an example of the display of the definition area Ad when the positioning operation mode is selected as the operation mode by the operation section p2.

[0344] The target axis selection area Ar1 is provided with an operation unit for selecting which of the X-axis to U-axis the movement of which is to be defined. As mentioned above, it is possible to define the movement of multiple axes for a moving part, and by selecting one box FS2 and then performing an axis selection operation in the target axis selection area Ar1, it is possible to define the movement for each axis by inputting operations into the setting input area Ar2, which will be described below.

[0345] The setting input area Ar2 is provided with an FL speed input box b2, an acceleration period input box b3, an HL speed input box b4, an output pulse number input box b5, and a deceleration period input box b6. The FL speed input box b2 is a box for inputting the FL speed (initial speed, stop speed) described above, the acceleration period input box b3 is a box for inputting the acceleration period, i.e., the transition period from the initial speed to the HL speed (operating speed) described above, and the HL speed input box b4 is an input box for the HL speed. In addition, the output pulse number input box b5 is a box for inputting the aforementioned output pulse number (target movement amount of the movable body reel 50), and the deceleration period input box b6 is a box for inputting the deceleration period, i.e., the transition period from HL speed to FL speed (stop speed).

[0346] By specifying the FL speed, acceleration period, HL speed, number of output pulses, and deceleration period through input operations into the FL speed input box b2, acceleration period input box b3, HL speed input box b4, number of output pulses input box b5, and deceleration period input box b6, it is possible to define a specified reel motor operation (operation of the movable body reel 50) in the positioning operation mode. Although not shown, when the sensor input stop mode is selected, a UI that allows the user to specify at least the FL speed, acceleration period, and HL speed may be displayed in the setting input area Ar2.

[0347] Here, the definition area Ad is provided with a comment input box b7. In this example, the above-mentioned "part name" can be specified by inputting information into this comment input box b7. In other words, the text information entered into this comment input box b7 is associated with the "part name" information for the action part defined by the input operation into the setting input area Ar2.

[0348] In the definition area Ad, the execute button Bt is a button for issuing an instruction to output a control command Cd corresponding to the defined moving part to the motor drive control unit 51 when the computer device 100 and the motor drive control unit 51 (a state in which a motor driver with a role motor connected thereto) are connected in the development environment. By providing this execute button Bt, the developer can define the moving part while checking the actual movement of the movable role 50.

[0349] In the definition area Ad, the label name input box b1 is a box for inputting a label name for the operation pattern whose flowchart is being displayed on the work screen Gs. The message input b8 is a box for inputting a message when the developer wishes to leave a message for management purposes regarding the defined action part.

[0350] The motion part definition application has a function for generating the control command management data D3 described above in FIG. 32 for motion parts defined through the work screen Gs as described above. The motion part definition application can generate control commands Cd, such as RFL command, RFH command, and RUR command, required to realize the defined motion for each motion part, based on values ​​such as FL speed, acceleration period, and HL speed specified by operations on the definition area Ad as described above. In the positioning motion mode, an RDP command indicating the slow-down point is issued, but the slow-down point (the remaining number of pulses at which deceleration begins) is automatically determined once the number of output pulses (b5) and deceleration period (b6) are specified (because it is specified that the speed is reduced from HL speed to FL speed during deceleration).

[0351] The motion part definition application generates the control commands Cd required for each motion part as described above, and then generates source code for each motion part to cause the CPU 41a to execute the transmission process of the control commands Cd. Then, the control command management data D3 is generated by associating the generated source code for each motion part with the part name information entered in the comment input box b7. The developer stores the control command management data D3 generated by the function of such an action part definition application in the ROM 41b of the performance control board 41.

[0352] The functions of the motion parts definition application as described above can significantly reduce the workload of developers required to realize the movable body role control of the embodiment.

[0353] [6.4 Movable object control processing as an embodiment] (6.4.1 Processing Flow) Next, the process relating to the movable body accessory control as an embodiment executed by the CPU 41a will be described. The control of the movable body role 50 is mainly realized by the movable body role operation update processing in step S603 in the performance control side timer interrupt processing shown in Figure 24, and the SOL·MOT output processing in step S604.

[0354] In the movable body reel operation update process of step S603 in Fig. 24, the CPU 41a selects one operation pattern from the reel sub-scenario data D1 shown in Fig. 30 as the performance scenario progresses. The selection of one operation pattern from the reel sub-scenario data D1 is performed based on the performance scenario data (main scenario data) not shown and the performance scenario timer described above.

[0355] In step S603, when one operation pattern is selected from the reel sub-scenario data D1, the CPU 41a identifies the management data of the division operation indicated by the identification information (e.g., "Excitation ON", "B01_No1", etc.) of the division operation in the first row in the management data of the selected operation pattern (i.e., the first division operation) from the management data for each division operation in the division operation management data D2 (see Figure 31). Then, it performs processing according to the description in the first line of the management data for the identified divided operation. For example, if the first line is a line where "operation type" = "drive control unit operation", it obtains the name information described in "part name" in that line (such as "[C44_201_XY_TAMA_B01]{ball}TY106_pre-variation △○×□ball gimmick notice_combination No.1_forward rotation XY axis data"). In step S603, at the next timer interrupt timing following the timer interrupt timing at which the operation pattern was selected from the reel sub-scenario data D1, the CPU 41a performs processing according to the information on the "operation type" of the target row in the divided operation management data D2. If the "operation type" is a line where "drive control unit operation" is specified, processing is performed to obtain the name information described in the "part name" field in that line. Furthermore, if the line is one where "operation type" = "waiting for drive control unit operation to end," the value described in "step" of that line is set in the "estimated stop time timer." This estimated stop time timer is a timer that is decremented with each timer interrupt, and "0" indicates that the estimated stop time has arrived. In step S706 of FIG. 34, which will be described later, it is determined whether or not the estimated stop time has elapsed by determining whether or not the estimated stop time timer is less than 0 (that is, the operation end confirmation process described above). As mentioned above, the operation of a plurality of axes may be defined for a moving part, and in that case, rows with "operation type" = "waiting for drive control unit to end operation" are provided consecutively in the divided operation management data D2. When rows with "operation type" = "waiting for drive control unit to end operation" are provided consecutively in this way, in the process of step S603, the CPU 41a sets the value of the estimated stop time timer for the corresponding axis based on the value of "step" for each of the consecutive rows.

[0356] Furthermore, when the process for the first divisional operation in the selected operation pattern is completed and the process for the second or subsequent divisional operations is to be started, the CPU 41a performs the following process as the process of step S603. That is, if the identified division operation is a division operation as a waiting operation such as "B01_No1_wait" and the management data of the division operation only has a row with "operation type" = "wait", the CPU 41a performs a process of determining at each interrupt timing whether the waiting time indicated by the value of "step" in that row has elapsed, as the process of step S603. Then, at the interrupt timing in step S603 at which it is determined that the waiting time has elapsed, the CPU 41a starts processing using the division operation management data D2 for the next division operation in the selected operation pattern. That is, it starts processing for the second and subsequent division operations described here.

[0357] Furthermore, if the identified divisional operation is a divisional operation of an operating part such as "B01_No2," the CPU 41a performs the same process as the process for the first divisional operation described above. That is, the CPU 41a acquires the name information described in "Part Name" and sets the value of "Step" in the line where "Type of Operation" = "Waiting for Drive Control Unit Operation to End" to the estimated stop time timer.

[0358] When the CPU 41a has completed the processing based on the divided action management data D2 as described above for all the divided actions included in one action pattern selected from the role object sub-scenario data D1, it performs a process of determining at each interrupt timing whether or not a new action pattern has been selected based on the performance scenario data and the performance scenario timer as the processing of step S603. If it is determined as a result of such determination at each interrupt timing that a new action pattern has been selected, the CPU 41a performs the same processing as described above for the newly selected action pattern based on the divided action management data D2 as the processing of step S603 at the subsequent timer interrupt timing.

[0359] FIG. 34 is a flowchart showing the SOL·MOT output process in step S604 in the performance control side timer interrupt process. The process shown in Figure 34 is not executed when the selected division action is a waiting action such as "B01_No1_wait", but is executed when the selected division action is an action as an action part such as "B01_No1" or "B01_No2". Furthermore, if the motion part defines motions for multiple axes, the process shown in FIG. 34 is executed for each axis.

[0360] In the SOL·MOT output process in step S604, the CPU 41a first performs a process of acquiring the value of the drive status register in step S701. That is, the CPU 41a inquires of the motor drive control unit 51 about the drive status value SRUN for the target axis and acquires the drive status value SRUN.

[0361] In step S702 following step S701, the CPU 41a determines whether or not the drive is stopped, that is, in this example, determines whether or not the acquired drive status value SRUN is "0".

[0362] If it is determined in step S702 that the motor is in a stopped state, the CPU 41a proceeds to step S703 to perform register initialization processing, i.e., issues an instruction to the motor drive control unit 51 to initialize the register of the target axis in the motor drive control unit 51, and then in the following step S704, performs reception / transmission permission processing, i.e., processing to permit data reception from the motor drive control unit 51 and data transmission to the motor drive control unit 51.

[0363] Then, in step S705 following step S704, the CPU 41a performs a control command transmission process. As can be understood from the above explanation, when the selected divisional action is an action as a moving part and the motor drive control unit 51 is in a drive stop state (step S702: Yes), that is, in the state immediately before the start of the action as the moving part, the name information corresponding to the moving part is identified from the divisional action management data D2 in the movable body role action update process of step S603. In the control command transmission process of step S705, based on the name information thus identified, the corresponding source code is identified from the control command management data D3, and a control command Cd for realizing the operation of the operating part is transmitted to the motor drive control unit 51 in accordance with the identified source code.

[0364] In response to having executed the control command transmission process of step S705, the CPU 41a proceeds to step S708, where it performs reception / transmission prohibition processing, i.e., processing to prohibit data reception from the motor drive control unit 51 and data transmission to the motor drive control unit 51, and then ends the SOL / MOT output processing of step S604.

[0365] If the CPU 41a determines in step S702 that the drive is not stopped, the CPU 41a proceeds to step S706 to determine whether the scheduled stop time has elapsed. Specifically, the CPU 41a determines whether the value of the scheduled stop time timer is less than "0."

[0366] If it is determined in step S706 that the scheduled stop time has not elapsed, the CPU 41a ends the SOL·MOT output process of step S604.

[0367] On the other hand, if it is determined in step S706 that the scheduled stop time has elapsed, the CPU 41a proceeds to step S707 and executes a scenario termination process. That is, the CPU 41a executes a process of forcibly stopping the operation of the movable body role object 50 defined in the sub-scenario (operation pattern) being executed. This makes it possible to forcibly stop the operation as a fail-safe process in case some abnormality occurs in the motor drive control unit 51 and the operation being executed does not end within the scheduled time. The motor drive control unit 51 used in this embodiment does not have a fail-safe function, so the fail-safe function is realized by monitoring the timeout through the processing of the CPU 41a.

[0368] When the CPU 41a has performed the scenario end process in step S707, it performs the reception / transmission prohibition process in step S708 described above, and ends the SOL / MOT output process in step S604.

[0369] For operating parts defined to operate in sensor input stop mode, it is also possible not to provide a line for operation type = drive control unit operation end wait as illustrated in Figure 31, and not to perform the judgment process in step S706.

[0370] Here, as described above, in this embodiment, if the selected divisional operation is an operation as a moving part, the processes of steps S701 and S702 inquire the motor drive control unit 51 about the drive control status at each timer interruption to determine whether the reel operation as a moving part has been completed. Then, after it is determined by the process of step S705 that the reel operation as a moving part has been completed, the control command output process for the next reel operation is performed.

[0371] This prevents the next control command Cd from being output by mistake before the operation of the moving part is completed, thereby realizing appropriate control of the reel operation.

[0372] (6.4.2 Microstep drive) As mentioned above, in conventional accessory motor control, the CPU 41a outputs control data to the motor driver at 1 ms intervals, so it was practically impossible to achieve microstep drive in terms of operating speed. In this embodiment, the conventional configuration in which the CPU 41a outputs control data directly to the motor driver is not adopted, and by using a motor drive control unit 51 and a motor driver group 52 that are compatible with microstep drive, it is possible to drive the reel motor in microstep drive mode (i.e., to move the movable reel 50 more smoothly).

[0373] However, when the accessory motor is driven in microsteps, it becomes uncertain at which excitation phase state (electrical angle) the motor operation (rotation) ends, and the motor operation may end in an excitation phase state halfway between the reference excitation phases (reference step positions). If stop excitation is applied in that state, there is a risk that the motor may not be able to be stopped properly. Specifically, stop excitation is performed by switching the drive mode to two-phase excitation drive mode, but the electrical angle at the end of microstep drive does not necessarily match any of the electrical angles in the two-phase excitation drive mode, and if stop excitation is performed in a state where the electrical angle at the end of microstep drive does not match the electrical angle in the two-phase excitation drive mode, the accessory motor will spin significantly when stopped, which may result in significant slippage of the movable accessory 50.

[0374] Therefore, in this embodiment, when the accessory motor 53 is stopped after being driven in the microstep drive mode, or when the drive mode is switched from the microstep drive mode to the two-phase excitation drive mode, a method is adopted in which the electrical angle is controlled so as to suppress the amount of idling of the accessory motor.

[0375] Specific examples will be explained below. Figures 35 and 36 are explanatory diagrams of electrical angle control when switching from the microstep drive mode to the two-phase excitation drive mode. Figures 35A and 36A show the electrical angle in the microstep drive mode, and Figures 35B and 36B show the electrical angle in the two-phase excitation drive mode, each on a graph with the horizontal axis = Phase A current (%) and the vertical axis = Phase B current (%).

[0376] For clarity, in this example, the microstep drive mode is the 2W1-2 phase excitation drive mode, and the electrical angle used is determined in increments of 22.5 (360 ÷ 16) degrees, as shown in each diagram A. Below, the 16 electrical angles used in the microstep drive mode will be represented as a to p on the increasing electrical angle side, with 45 degrees as the base electrical angle. On the other hand, in the two-phase excitation drive mode shown in each diagram B, the four electrical angles used are 45 degrees, 135 degrees, 225 degrees, and 315 degrees. Below, the four electrical angles used in the two-phase excitation drive mode will be represented as A to D on the increasing electrical angle side, with 45 degrees as the base electrical angle.

[0377] In the microstep drive mode, the electrical angle used is greater than in the two-phase excitation drive mode, which allows smoother drive of the accessory motor.

[0378] 35 shows the control of the electrical angle when the rotation direction is clockwise. In the figure, the thick black arrow indicates the direction of change in the electrical angle when the rotation direction is clockwise, and as the arrow indicates, the electrical angle increases when the rotation direction is clockwise.

[0379] In this embodiment, when switching from the microstep drive mode to the two-phase excitation drive mode when the rotation direction of the accessory motor is CW, the electrical angle is controlled as follows. That is, if the electrical angle immediately before switching from the microstep drive mode to the two-phase excitation drive mode is within the range of electrical angles a to d (45 degrees to 112.5 degrees = hereinafter referred to as the "first range Rg1"), the electrical angle is changed to B (135 degrees: hereinafter referred to as the "first electrical angle Ag1"). Furthermore, if the electrical angle immediately before the switching is within the range of electrical angles e to h (135 degrees to 202.5 degrees, hereinafter referred to as the "second range Rg2"), the electrical angle is changed to C (225 degrees, hereinafter referred to as the "second electrical angle Ag2"). If the electrical angle immediately before the switching is within the range of electrical angles i to l (225 degrees to 292.5 degrees, hereinafter referred to as the "third range Rg3"), the electrical angle is changed to D (315 degrees, hereinafter referred to as the "third electrical angle Ag3"). Furthermore, if the electrical angle immediately before the switching is within the range of electrical angles m to p (315 degrees to 22.5 degrees, hereinafter referred to as the "fourth range Rg4"), the electrical angle is changed to C (45 degrees, hereinafter referred to as the "fourth electrical angle Ag4").

[0380] Here, changing the electrical angle to a specific electrical angle when switching from the microstep drive mode to the two-phase excitation mode means starting drive in the two-phase excitation drive mode from the specific electrical angle. In other words, starting drive in the two-phase excitation drive mode with a combination of A-phase current and B-phase current values ​​that corresponds to the specific electrical angle. For example, changing the electrical angle to B when switching to the two-phase excitation mode means starting drive in the two-phase excitation drive mode with a drive current output based on the combination of "A-phase current = -100% and B-phase current = 100%." ​​Changing the electrical angle to C when switching to the two-phase excitation mode means starting drive in the two-phase excitation drive mode with a drive current output based on the combination of "A-phase current = -100% and B-phase current = -100%."

[0381] By performing the electrical angle control as described with reference to FIG. 35, the amount of change in the electrical angle can be kept within 90 degrees, regardless of the electrical angle immediately before switching to the two-phase excitation drive mode. Therefore, the amount of idling of the accessory motor when switching from the microstep drive mode to the two-phase excitation drive mode can be suppressed, and the position control accuracy of the movable accessory 50 can be improved.

[0382] In this example, the electrical angle control when switching from the microstep drive mode to the two-phase excitation mode as described above is performed by the motor drivers in the motor driver group 52 autonomously in response to a drive mode switching instruction from the motor drive control unit 51 described above (i.e., without relying on a specific electrical angle instruction from the motor drive control unit 51). Specifically, in this example, the motor driver controls the electrical angle based on the rotation direction (CW / CCW) of the accessory motor and the electrical angle immediately before switching in response to an instruction from the motor drive control unit 51 to switch the drive mode from the microstep drive mode to the two-phase excitation drive mode. That is, as described above, when the rotation direction is CW, if the electrical angle immediately before switching is within the first range Rg1, the motor driver controls the electrical angle to be the first electrical angle Ag1(B), if the electrical angle immediately before switching is within the second range Rg2, the motor driver controls the electrical angle to be the second electrical angle Ag2(C), if the electrical angle immediately before switching is within the first range Rg3, the motor driver controls the electrical angle to be the third electrical angle Ag3(D), and if the electrical angle immediately before switching is within the first range Rg4, the motor driver controls the electrical angle to be the fourth electrical angle Ag4(A). The rotation direction (CW / CCW) can be identified by the DIR signal (rotation direction indication signal) output by the motor drive control unit 51 from the rotation direction output terminal DIR (see FIG. 27) described above.

[0383] Furthermore, when the rotation direction is CCW, the motor driver changes the electrical angle as shown in FIG. 36 when switching from the microstep drive mode to the two-phase excitation mode. That is, when the rotation direction is CCW, if the electrical angle immediately before the switching is within the first range Rg1, the electrical angle is controlled to be the third electrical angle Ag3(D); if the electrical angle immediately before the switching is within the fourth range Rg4, the electrical angle is controlled to be the second electrical angle Ag2(C); if the electrical angle immediately before the switching is within the third range Rg3, the electrical angle is controlled to be the first electrical angle Ag1(B); and if the electrical angle immediately before the switching is within the second range Rg2, the electrical angle is controlled to be the fourth electrical angle Ag4(A).

[0384] By controlling the electrical angle as described above, when the rotation direction is CCW, the electrical angle changes by a minimum of 90 degrees and a maximum of 157.5 degrees when switching to two-phase excitation drive mode.

[0385] As can be understood from the above description, in this embodiment, the amount of change in the electrical angle when switching from the first excitation mode (microstep drive mode) to the second excitation mode (two-phase excitation drive mode) is different depending on whether the rotation direction of the accessory motor is forward or reverse. In this case, the amount of change in the electrical angle in the forward direction is smaller than that in the reverse direction. In this embodiment, the amount of change in electrical angle per step in the control of the motor driver is in the first excitation mode<the second excitation mode.

[0386] Here, in the gaming machine 1 of this example, for the drive of the movable device 50y, which is moved to the performance position by driving it downward, the rotation direction = CW is assigned to the return side to the origin position (i.e., drive in the upward direction). If the rotation direction is assigned to CCW on the return side to the origin position, when the movable body accessory 50y stops at the origin position, the electrical angle change will be large (up to a maximum change of 157.5 degrees), and there is a risk that the movable body accessory 50y will slip off. In contrast, if the rotation direction = CW is assigned to drive the movable body part 50y upward, the amount of change in electrical angle when the movable body part 50y stops at the origin position can be kept within 90 degrees, which is advantageous as it can prevent slippage.

[0387] In addition, since there is a possibility that some external force (for example, human force or spring force, etc.) may be applied to the movable body device 50, not limited to the weight of the movable body device 50 itself, if there is room for movement in the direction in which the movable body device 50 can move and it is desired to perform a stopping operation using the two-phase excitation drive mode in that situation, it is possible to similarly assign a rotation direction = CW to the drive of the movable body device 50 that can move in directions other than up and down.

[0388] Here, regarding the electrical angle control when switching to the two-phase excitation drive mode, it is possible to consider, for example, controlling the electrical angle to one of the first electrical angle Ag1 to the fourth electrical angle Ag4 in the two-phase excitation drive mode regardless of the electrical angle immediately before the drive mode switch. In this case, the amount of change in the electrical angle when switching the drive mode will be a maximum of 360 degrees. Compared to such cases, even with the electrical angle control in CCW as shown in Figure 36, the amount of motor idling when switching to two-phase excitation drive mode can be reduced, and the position control accuracy of the accessory motor 53 can be improved.

[0389] 37 shows a schematic configuration example of the motor driver 52y. Note that the configuration shown in FIG. 37 is also applicable to the other motor drivers in the motor driver group 52. The motor driver 52y is provided with three terminals, a DMODE0 terminal, a DMODE1 terminal, and a DMODE2 terminal, for receiving drive mode designations from the motor drive control unit 51. Drive mode switching instructions are given by combining the three values ​​of DMODE0, DMODE1, and DMODE2, and details will be explained again later.

[0390] The motor driver 52y is also provided with a CW / CCW terminal for receiving a rotation direction instruction by the above-mentioned DIR signal from the motor drive control unit 51, a CLK terminal for receiving an OUT signal (a pulse signal indicating the period of the drive pulse of the accessory motor 53), and an ENABLE terminal as an input terminal for an ENABLE signal. The ENABLE signal will be described later.

[0391] Furthermore, the motor driver 52y is provided with four terminals, namely, a MOTyA+ terminal, a MOTyA- terminal, a MOTyB+ terminal, and a MOTyB- terminal, as terminals for outputting drive currents to the accessory motors. The MOTyA+ terminal and the MOTyA- terminal are terminals for outputting the A-phase current described above, and the MOTyB+ terminal and the MOTyB- terminal are terminals for outputting the B-phase current described above.

[0392] As shown in the figure, the motor driver 52y includes a decoding unit 521, a motor control circuit 522, an A-phase current output circuit 523A, and a B-phase current output circuit 523B. The decoding unit 521 decodes the input signals from the above-mentioned DMODE0 terminal to DMODE2 terminal, CW / CCW terminal, CLK terminal, and ENABLE terminal, and outputs the decoded signals to the motor control circuit 522.

[0393] The A-phase current output circuit 523A and the B-phase current output circuit 523B generate A-phase current and B-phase current based on the control of the motor control circuit 522, and output them to the corresponding accessory motors via the MOTyA+ terminal and MOTyA- terminal, and the MOTyB+ terminal and MOTyB- terminal, respectively.

[0394] The motor control circuit 522 controls the A-phase current generation operation and the B-phase current generation operation by the A-phase current output circuit 523A and the B-phase current output circuit 523B based on each signal decoded by the decoding unit 521, thereby generating A-phase current and B-phase current, respectively, to realize the operation of the accessory motor in accordance with the input signals from each input terminal such as the CW / CCW terminal and CLK terminal described above.

[0395] The motor control circuit 522 has an electrical angle detection unit 522a. The electrical angle detection unit 522a detects the electrical angle being controlled. In both the microstep drive mode and the two-phase excitation drive mode, the electrical angle for rotating the accessory motor is controlled by the electrical angle detection unit 522a. The electrical angle detection unit 522a is a block diagram showing the function of detecting the electrical angle controlled by the motor control circuit 522 itself.

[0396] In this example, the electrical angle control during drive mode switching described above with reference to FIGS. 35 and 36 is executed by the motor control circuit 522 in the motor driver 52y.

[0397] FIG. 38 is a flowchart showing an example of a processing procedure executed by the motor control circuit 522 to realize the electrical angle control according to the embodiment. 38, first, in step S1001, the motor control circuit 522 determines whether or not there has been an instruction to switch from the first excitation mode to the second excitation mode. Specifically, in this example, it determines whether or not there has been an instruction to switch from the microstep drive mode to the two-phase excitation drive mode. In this example, the drive mode can be identified by a combination of H / L of the input signals to the DMODE0 terminal to the DMODE2 terminal, as will be explained later.

[0398] In step S1001, if it is determined that there is no instruction to switch from the first excitation mode to the second excitation mode, the motor control circuit 522 ends the series of processes shown in FIG.

[0399] On the other hand, if it is determined in step S1001 that an instruction to switch from the first excitation mode to the second excitation mode has been issued, the motor control circuit 522 proceeds to step S1002 and determines whether the rotation direction is CW or CCW.

[0400] If the rotation direction is CW, the motor control circuit 522 proceeds to step S1003, where the process branches depending on which of the first range Rg1 to fourth range Rg4 the electrical angle immediately before the switch belongs to.

[0401] That is, if the electrical angle immediately before the switch is within the first range Rg1, the motor control circuit 522 controls the electrical angle to the first electrical angle Ag1(B) in step S1004, and ends the series of processes shown in FIG. Furthermore, if the electrical angle immediately before the switching is within the second range Rg2, the motor control circuit 522 controls the electrical angle to the second electrical angle Ag2(C) in step S1005, thereby completing the series of processes shown in FIG. 38; if the electrical angle immediately before the switching is within the third range Rg3, the motor control circuit 522 controls the electrical angle to the third electrical angle Ag3(D), thereby completing the series of processes shown in FIG. 38; and if the electrical angle immediately before the switching is within the fourth range Rg4, the motor control circuit 522 controls the electrical angle to the fourth electrical angle Ag4(A), thereby completing the series of processes shown in FIG. 38.

[0402] Furthermore, if the motor control circuit 522 determines in the previous step S1002 that the rotation direction is CCW, the process proceeds to step S1008, where the process branches depending on which of the first range Rg1 to the fourth range Rg4 the electrical angle immediately before the switch belongs to.

[0403] That is, if the motor control circuit 522 determines in step S1008 that the electrical angle immediately before the switching is within the first range Rg1, it controls the electrical angle to the third electrical angle Ag3(D) in step S1009 and ends the series of processes shown in FIG. 38. Furthermore, if the motor control circuit 522 determines in step S1008 that the electrical angle immediately before the switching is within the fourth range Rg4, it controls the electrical angle to the second electrical angle Ag2(C) in step S1010, thereby completing the series of processes shown in FIG. 38; if the motor control circuit 522 determines in step S1008 that the electrical angle immediately before the switching is within the third range Rg3, it controls the electrical angle to the first electrical angle Ag1(B) in step S1011, thereby completing the series of processes shown in FIG. 38; and if the motor control circuit 522 determines in step S1008 that the electrical angle immediately before the switching is within the second range Rg2, it controls the electrical angle to the fourth electrical angle Ag4(A) in step S1012, thereby completing the series of processes shown in FIG. 38.

[0404] (6.4.3 Use of pre-registers) As shown in FIG. 27, the motor drive control unit 51 in this embodiment has a pre-register unit 74. The pre-register in the pre-register unit 74 is a register that is provided to enable a control command Cd for realizing a subsequent operation to be set in advance when a subsequent operation is to be executed after the execution of an operation according to the control command Cd set in the register in the register unit 73. If a control command Cd is preset in the pre-register, after the operation according to the control command Cd set in the register section 73 is completed, the control command Cd set in the pre-register is slid into the register of the register section 73, and the next operation is started.

[0405] By using such a pre-register, the motor drive control unit 51 can start controlling the next accessory motor operation without depending on the timer interrupt period of the CPU 41a (1 ms period in this example), i.e., without causing a 1 ms gap.

[0406] However, since the motor drive control unit 51 used in this embodiment does not have a fail-safe function, when a pre-register is used, there is the inconvenience that even if the previous operation set in the register unit 73 results in an error, the control of the next reel motor operation will be executed.

[0407] Therefore, in this embodiment, the reel motor operation control is basically performed without using a pre-register (i.e., using only the register unit 73), and only for some series of operations is the reel motor operation control using a pre-register adopted.

[0408] Specifically, for example, a series of operations in which the rotation speed of the reel motor is changed midway, such as a series of operations in which the motor slows down when it reaches a position sensor, is the only operation in which the reel motor operation control using a pre-register is adopted. If a method were adopted in which the control command Cd corresponding to the operation before the speed change and the control command Cd corresponding to the operation after the speed change were set in the register unit 73 in a time-division manner, a 1 ms gap would occur during the speed change, which could cause the accessory motor to lose synchronization. For this reason, the "operation up to arrival at the sensor" and the "deceleration operation after arrival at the sensor" are set in the register unit 73 and the pre-register unit 74, respectively. In this case, the aforementioned estimated stop time timer is set to a value equivalent to the total time of the "operation until reaching the sensor" and the "operation of deceleration after reaching the sensor," and the estimated timing of the end of the latter operation is confirmed by timer interrupt processing (step S702).

[0409] Here, when using a pre-register, consecutive rows of operation type = drive control unit operation are provided in the divided operation management data D2 shown in Figure 31, and information on the part names that define the corresponding operations is written in those rows. When there are consecutive rows with operation type = drive control unit operation in this manner, the CPU 41a instructs the motor drive control unit 51 to set the control command Cd identified from the part name in one row (e.g., the preceding row) in the register unit 73, and instructs the motor drive control unit 51 to set the control command Cd identified from the part name in the other row (e.g., the following row) in the pre-register unit 74.

[0410] The pre-register can also be used in the following way: Here, the series of operations of the movable body accessory 50 are assumed to be 1) moving to the origin (moving to the position sensor), 2) pushing into the origin (positioning operation), and 3) stopping excitation (for example, a predetermined time such as 100 ms). In this case, at the start of operation 1), the control command Cd for operation 1) is written to the register, and the control command Cd for operation 2) is written to the pre-register unit 47. As a result, after operation 1) is completed, the data in the pre-register is automatically written to the register, and the consecutive operations of 1) and 2) are realized. In this case, since the operation 3) cannot be registered at the initial stage, it is conceivable to perform corresponding control such as monitoring that the pre-register data has been written to the register unit 73, and writing the control command Cd for the operation 3) to the pre-register unit 74 once there is space in the pre-register unit 74.

[0411] [6.5 Current value switching as an embodiment and measures to prevent motor malfunction at start-up] FIG. 39 is a circuit block diagram showing an example of the configuration of peripheral circuits of the motor drive control unit 51. Here, an example of the peripheral circuit configuration of the motor drive control unit 51 is shown together with the performance control board 41. 39, only the X-axis circuit configuration is extracted from the peripheral circuit configuration of the motor drive control unit 51 and shown.

[0412] Here, the terminals shown include a pulse signal output terminal OUTx, which is an output terminal for the X-axis OUT signal (OUTx signal), a rotation direction output terminal DIRx, which is an output terminal for the X-axis DIR signal (DIRx signal), and general-purpose input / output terminals P0x, P1x, P2x, and P3x, which are general-purpose input / output terminals P0, P1, P2, and P3 for the X-axis, among the terminals of the motor drive control unit 51.

[0413] Also, in the figure, motor driver 52x and reel motor 53x represent the X-axis motor driver in motor driver group 52 and the X-axis reel motor in reel motor group 53, respectively, and position sensor 55x represents a position sensor provided for movable reel 50x in position sensor group 55.

[0414] In the motor drive control unit 51 of this example, the general-purpose input / output terminal P0 is selected as the input terminal for the positioning sensor signal, and as shown in the figure, the detection signal from the position sensor 55x is input to the general-purpose input / output terminal P0x via a buffer 91x.

[0415] The motor driver 52x has a clock (CLK) terminal to which the OUTx signal from the motor drive control unit 51 is input, and a rotation direction (CW / CCW) input terminal to which the DIRx signal is input. The motor driver 52x also has a total of four output terminals for the A-phase and B-phase, each for two polarities, positive and negative, as output terminals for the drive current (motor drive current) for the accessory motor 53x. The motor driver 52x also has an ENABLE terminal to which an ENABLE signal is input, and a Vref terminal that is an input terminal for the reference voltage Vref.

[0416] When the ENABLE signal is ON, the motor driver 52x is configured to output to the accessory motor 53x a motor drive current whose value corresponds to the reference voltage Vref input to the Vref terminal. At this time, the motor drive current output is a current whose polarity corresponds to the DIRx signal input to the rotation direction input terminal. Furthermore, when an OUTx signal is input to the clock terminal, the motor driver 52x outputs a motor drive current having a pulse waveform whose period corresponds to the period of the OUTx signal.

[0417] Here, a motor driver 52y, which will be described later, also has the same terminals as the motor driver 52x, and outputs a motor drive current in accordance with the input ENEBLE signal, reference voltage Vref, DIR signal, and OUT signal, just like the motor driver 52x.

[0418] Furthermore, in this embodiment, each motor driver in the motor driver group 52 is configured to be able to switch the drive mode of the accessory motor between at least a two-phase excitation drive mode and a microstep drive mode, and as shown in the figure, the motor driver 52x has three terminals, a DMODE0 terminal, a DMODE1 terminal, and a DMODE2 terminal, as drive mode terminals for receiving instructions to switch the drive mode.

[0419] FIG. 40 is a diagram showing the correspondence between input values ​​to the drive mode terminals and drive modes. As can be seen from this diagram, the motor driver 52x in this example sets its drive mode to the two-phase excitation drive mode in response to inputs of DMODE0 terminal = L level, DMODE1 terminal = L level, and DMODE2 terminal = H level, and sets its drive mode to the 2W1-2-phase excitation drive mode, which is a microstep drive mode, in response to inputs of DMODE0 terminal = H level, DMODE1 terminal = L level, and DMODE2 terminal = H level.

[0420] 39, the input signal to the DMODE1 terminal is fixed at L level, and the input signal to the DMODE2 terminal is fixed at H level, as shown in the figure. Therefore, in the motor driver 52x of this example, it is possible to switch between the two-phase excitation drive mode and the microstep drive mode by switching the input signal level to the DMODE0 terminal between L level and H level.

[0421] The motor drive control unit 51 outputs a drive mode control signal to the motor driver to set the specified drive mode when the drive mode of the prop motor is specified by the control command Cd from the performance control board 41. Specifically, the motor drive control unit 51 (command register control circuit 72) in this example generates and outputs a drive mode control signal at L level when the two-phase excitation drive mode is specified by the control command Cd from the performance control board 41, and generates and outputs a drive mode control signal at H level when the microstep drive mode is specified. In the motor drive control unit 51 of this example, this drive mode control signal is output from one of the general-purpose input / output terminals P0 to P3 described above. Specifically, the motor drive control unit 51 of this example is set so that the general-purpose input / output terminal P1 serves as the output terminal for the drive mode control signal.

[0422] As shown in the figure, the drive mode control signal is input to the DMODE0 terminal of the motor driver 52x from the general-purpose input / output terminal P1x of the motor drive control unit 51. This enables the motor driver 52x to appropriately switch between the two-phase excitation drive mode and the microstep drive mode in accordance with the drive mode instruction by the control command Cd.

[0423] In the conventional gaming machine described above in Fig. 25, the motor drivers 52x and 52y were configured to switch the motor drive current value in predetermined steps (e.g., 16 steps) by register settings. Therefore, the CPU 41a of the performance control board 41' was configured to switch the motor drive current value between a weak current (the standby current value described above: e.g., about 100 mA) and a strong current (the drive current value described above: e.g., about 470 mA) by setting the registers of the drivers. Just to be clear, the switching between weak and strong currents for the motor drive current should be performed at the timing when the drive of the accessory motor starts (weak current → strong current) and ends (strong current → weak current).

[0424] In the gaming machine 1 of this embodiment, a driver that does not have the current value switching function by register setting as described above is used as the motor driver 52x (and similarly for the motor driver 52y), and it is necessary to adopt a new motor drive current value switching method that replaces the conventional method described above.

[0425] In this embodiment, a configuration is adopted in which the motor drive current value is switched using a Vref terminal provided in the motor driver 52x. Specifically, the motor drive current value is switched using a switching circuit 92x shown in the figure.

[0426] As shown in the figure, the switching circuit 92x receives an output signal from the general-purpose input / output terminal P3x in the motor drive control unit 51. As described above, in this embodiment, the general-purpose input / output terminal P3 is assigned to output the current up / down signal CDWN, and therefore the current up / down signal CDWN is provided as an input signal to the switching circuit 92x.

[0427] The switching circuit 92x is configured as a variable voltage divider circuit that uses a power supply voltage of a predetermined level (a power supply voltage of DC 5V in this example) as an input voltage, and is configured with resistors R1, R2, R3, and a switching element Q1 as shown in the figure. In this case, an NPN bipolar transistor is used for the switching element Q1, and the collector of the switching element Q1 is connected to a DC 5V power supply via resistor R1, and the emitter is grounded via resistor R2. Also, a resistor R3 is connected in parallel with the DC 5V power supply, and the end of this resistor R3 opposite to the connection point with the DC 5V power supply is connected to the connection point between the emitter of the switching element Q1 and resistor R2. The base of the switching element Q1 is connected to a general-purpose input / output terminal P3x of the motor drive control unit 51. As a result, the current up / down signal CDWN is provided as an ON / OFF control signal for the switching element Q1. In the switching circuit 92x, the connection point between the resistors R3 and R2 serves as a voltage division output point, which is connected to the Vref terminal of the motor driver 52x. That is, the voltage divided and output by the switching circuit 92x is provided as the reference voltage Vref of the motor driver 52x.

[0428] In the switching circuit 92x having the above configuration, when the current up / down signal CDWN is at the L level (OFF level), the switching element Q1 is turned OFF. Therefore, the voltage Vd at the voltage division output point is expressed as "Vd = R3 / (R3 + R2) × 5V". On the other hand, when the current up / down signal CDWN is at H level (ON level), the switching element Q1 is turned ON, and the voltage at the voltage-divider output point is a voltage based on the combined resistance of R1 and R3 and R2. Here, the combined resistance of R1 and R3 is "R1 × R3 / (R1 + R3)." If this combined resistance is R0, then the voltage Vd when the current up / down signal CDWN is at H level is expressed as "R0 / (R0 + R2) × 5V." In this case, since R3 > R0, the value of the voltage Vd increases when the current up / down signal CDWN switches from L level to H level, and decreases when it switches from H level to L level.

[0429] As described above, the motor driver 52x is configured to output to the accessory motor 53x a motor drive current whose value corresponds to the reference voltage Vref input to the Vref terminal. Therefore, by the operation of the switching circuit 92x as described above, the motor driver 52x can output a weak current as the motor drive current when the current up / down signal CDWN is at an L level, and can output a strong current as the motor drive current when the current up / down signal CDWN is at an H level.

[0430] As described above, in this embodiment, the switching between weak and strong motor drive currents is performed by the control of the switching circuit 92x by the motor drive control unit 51. In other words, to achieve the switching between weak and strong currents, it is no longer necessary for the CPU 41a of the performance control board 41' to directly instruct the motor driver to switch the drive current value, as in the conventional case. Therefore, it is possible to reduce the processing load on the CPU 41a related to the control of the movable body device 50, and also reduce the burden of software creation work related to that control.

[0431] FIG. 41 illustrates an example of how the motor drive current value is switched in response to the current up / down signal CDWN. As explained above with reference to Figure 28, at the timing (CSTA) when a start command from the performance control board 41 commands the start of driving the accessory motor 53x, the current up / down signal CDWN changes from OFF level (L level) to ON level (H level). Due to the operation of the switching circuit 92x described above, the current value of the motor drive current from the motor driver 52x to the accessory motor 53x gradually changes from a weak current value to a strong current value in response to this change in the current up / down signal CDWN from OFF level to ON level. As mentioned above, a current-up period is provided at this time, ensuring a sufficient period for raising the motor drive current value to a strong current (driving current value).

[0432] Furthermore, the current up / down signal CDWN changes from ON level to OFF level in response to the lapse of a predetermined current down period from the timing at which the pulse output of the OUTx signal stops. In response to this change of the current up / down signal CDWN from ON level to OFF level, the current value of the motor drive current from the motor driver 52x to the accessory motor 53x gradually decreases from a current value representing a strong current to a current value representing a weak current due to the operation of the switching circuit 92x described above. As mentioned above, by providing a current down period, it is possible to ensure that the accessory motor 53x is stopped reliably.

[0433] Here, in the above example, the current up / down signal CDWN is used as the signal input to the switching circuit 92x to switch between weak current and strong current, but any other signal can also be used as long as its value is inverted at the start and end timings of driving the accessory motor. The "timing" in the "start timing" and "end timing" mentioned here does not refer only to a strict "point in time," but is a concept that has a certain time span.

[0434] In FIG. 39, an ENABLE control circuit 93x controls the level of the ENABLE signal input to a motor driver 52x.

[0435] Here, if the motor drive control unit 51 is configured to control the ON / OFF of the ENABLE signal of the motor driver 52x, the level of the ENABLE signal will be indefinite when the motor drive control unit 51 is started, which may cause malfunction of the accessory motor 53x. Therefore, in this embodiment, an ENABLE control circuit 93x is provided to deal with this problem.

[0436] As shown in the figure, the ENABLE control circuit 93x includes resistors R4, R5, R6, and a switching element Q2. In this example, an N-type FET (field effect transistor) is used for the switching element Q2. The gate of the switching element Q2 is connected to a general-purpose input / output terminal P2x of the motor drive control unit 51. The gate of the switching element Q2 is also connected to a power supply voltage of a predetermined level (DC 5V in this example) via a resistor R4. The drain of the switching element Q2 is connected to a power supply voltage of a predetermined level (DC 5V in this example) via a resistor R5, and the source is grounded. The connection point between the drain of the switching element Q2 and the resistor R5 is connected to the ENABLE terminal of the motor driver 52x via a resistor R6.

[0437] In this embodiment, the motor drive control section 51 can set H level fixed output or L level (ground) fixed output as the signal allocation for the general-purpose input / output terminals P0 to P3 using the control command Cd. In this example, when the motor drive control unit 51 is started up, the performance control board 41 uses the control command Cd to perform processing to set the general-purpose input / output terminal P2x to a fixed L level output for the command register control circuit 72 of the X-axis circuit. As a result, the motor drive control unit 51 fixes (grounds) the general-purpose input / output terminal P2x at an L level in response to startup.

[0438] Before the motor drive control unit 51 starts up or immediately after the motor drive control unit 51 starts up, when the signal level of the general-purpose input / output terminal P2x is not at L level (ground level), the ENABLE control circuit 93x connects the gate of the switching element Q2 to the power supply voltage, so that the switching element Q2 is in the ON state. Therefore, an L level (OFF level) signal is output as the ENABLE signal. On the other hand, when the signal level of the general-purpose input / output terminal P2x becomes L level upon startup of the motor drive control unit 51, the ENABLE control circuit 93x turns OFF the switching element Q2, and accordingly outputs an H level (ON level) signal as the ENABLE signal.

[0439] In this way, it is possible to prevent the ENABLE signal from being turned ON before starting up the motor drive control unit 51. In other words, it is possible to prevent malfunction of the accessory motor 53x caused by the level of the ENABLE signal being indefinite when starting up the motor drive control unit 51.

[0440] [6.6 Measures to prevent parts from falling when starting up] As described above with reference to Figures 3 and 4, in this embodiment, the Y-axis movable body accessory 50y is a movable body accessory 50 that is driven downward from the shielding position. In other words, it is a movable body accessory 50 that has a range of motion below the shielding position.

[0441] In this way, for the movable body role 50 whose range of motion is below the shielding position, if the last drive of the role motor before starting the motor drive control unit 51 was in microstep drive mode, there is a risk that the movable body role 50 will fall due to its own weight when the motor drive control unit 51 is subsequently started. Specifically, when starting the motor drive control unit 51 in this case, the ENABLE signal is turned ON, and a weak motor drive current is output from the motor driver to the role motor, but if the last drive mode before starting is the microstep drive mode, it becomes uncertain in which excitation phase state the motor operation ended, and if the motor operation ended in an intermediate excitation phase state between the reference excitation phases (reference step positions), sufficient stopping force cannot be obtained even if a weak motor drive current is applied, and as a result, there is a risk that the movable body role 50 will fall due to its own weight.

[0442] Therefore, in this embodiment, a startup mode control circuit 94 as shown in FIG. 42 is provided in the Y-axis motor control system. As can be seen by referring to Figure 42, in this example, in the Y-axis motor control system as well, the detection signal of the position sensor (55y) is input to the general-purpose input / output terminal P0 (P0y) via a buffer 91 (91y). In addition, a switching circuit 92y having a circuit configuration similar to that of the switching circuit 92x described above is provided to realize switching of the motor drive current value (switching between weak current and strong current) according to the current up / down signal CDWN output from the general-purpose input / output terminal P3x. Furthermore, an ENABLE control circuit 93y having the same circuit configuration as the ENABLE control circuit 93x is provided to prevent malfunction of the accessory motor 53y at startup, as in the case of the X-axis.

[0443] As shown in the figure, the startup mode control circuit 94 has a circuit configuration similar to that of the ENABLE control circuits 92 (92x and 92y). The gate of the switching element Q2 in the startup mode control circuit 94 is connected to the general-purpose input / output terminal P1y of the motor drive control unit 51. In this example, in motor drive control unit 51, the general-purpose input / output terminal P1 is also assigned to output the drive mode control signal described above for the Y axis. Therefore, when motor drive control unit 51 is started, a drive mode control signal is output from general-purpose input / output terminal P1y to the gate of switching element Q2 in startup mode control circuit 94. However, the drive mode control signal for the Y axis is assumed to be at H level for two-phase excitation drive mode and at L level for microstep drive mode.

[0444] In the startup mode control circuit 94, the connection point between the drain of the switching element Q2 and the resistor R5 is connected to the DMODE0 terminal of the motor driver 52y via a resistor R6.

[0445] In this example, if the last drive of the accessory motor 53y was in microstep drive mode, an L-level drive mode control signal is output in response to the start of the motor drive control unit 51, but the level of the drive mode control signal is also indefinite in the period immediately after the start of the motor drive control unit 51.

[0446] In the startup mode control circuit 94, when the motor drive control unit 51 is in a state before startup has started or a state immediately after startup of the motor drive control unit 51 has started and the signal level of the general-purpose input / output terminal P1y is not at L level (ground level), the gate of the switching element Q2 is connected to the power supply voltage, so that the switching element Q2 is in the ON state and the output signal to the DMODE0 terminal is at L level (OFF level). As shown in Figure 40 above, when the input signal level to the DMODE0 terminal is at L level in this way, the two-phase excitation drive mode is instructed as the drive mode to the motor driver 52y. Therefore, it is possible to prevent the movable body accessory 50y from falling due to its own weight when the motor drive control unit 51 is started.

[0447] When the drive mode control signal output from the general-purpose input / output terminal P1y is at an H level corresponding to the two-phase excitation drive mode, the switching element Q2 is turned ON in the startup mode control circuit 94, and an L-level signal is input to the DMODE0 terminal, thereby instructing the motor driver 52y to operate in the two-phase excitation drive mode. On the other hand, when the drive mode control signal output from the general-purpose input / output terminal P1y is at an L level corresponding to the microstep drive mode, the switching element Q2 is turned OFF in the startup mode control circuit 94, an H level signal is input to the DMODE0 terminal, and the microstep drive mode is instructed to the motor driver 52y. In this way, after the motor drive control unit 51 is started, an appropriate drive mode is instructed to the motor driver 52y in accordance with the drive mode control signal.

[0448] [6.7 Backlash Countermeasures] In the gaming machine 1 of the embodiment, the movable body accessory 50 is driven by the accessory motor in the accessory motor group 53 via a power transmission mechanism 58 having a plurality of gears Gr as shown in Fig. 43. In this case, the power from the accessory motor is transmitted to the movable body accessory 50 via a plurality of gears Gr, but generally, in this type of power transmission mechanism 100, a gap called backlash (or backlash: hereinafter referred to as "backlash BL") is provided at the meshing portion Pb between the gears Gr (see the enlarged view of the meshing portion Pb in the figure). To clarify, backlash BL refers to a gap (play) intentionally provided in the direction of movement when a pair of gears Gr are meshed and moving.

[0449] If such play as backlash BL is provided, a time lag occurs between the start of driving of the accessory motor and the actual transmission of power to the movable accessory 50 side. If the amount of backlash BL is constant when the reel motor starts to drive, the above-mentioned time lag will also be constant, and the amount of operational delay of the movable reel 50 will also be constant. However, in reality, the amount of backlash BL when the motor starts to drive is indefinite, which causes variation in the amount of operational delay of the movable reel 50, which may reduce the accuracy of position control of the movable reel 50 and reduce the accuracy of the performance. Here, we propose a method to counter the deterioration of the accuracy of the presentation caused by such backlash BL.

[0450] Hereinafter, the amount of backlash BL will be referred to as "backlash amount." In Figure 43, as an example for the purpose of explanation, a case has been shown in which the power transmission mechanism 58 has two gears Gr, and therefore the amount of backlash is the amount of backlash BL at one meshing portion Pb between those two gears Gr, but as shown in Figure 44, the power transmission mechanism 58 may be configured to have three or more gears Gr. In this case, the amount of backlash is the total value of the amount of backlash BL at each of two or more meshing portions Pb between each of those three or more gears Gr.

[0451] First, referring to FIG. 45, we will consider specifically the reduction in the position control accuracy of the movable accessory 50 caused by the backlash BL. Figure 45 shows the movement of the movable body part 50 when it is driven from the origin position to the operating position (position detected by the position sensor 55) using a graph with the horizontal axis = distance and the vertical axis = speed. In the figure, the thick solid line shows the movement of the movable part 50 when the backlash amount is minimum when the part motor starts to drive, and the thick dashed line shows the movement of the movable part 50 when the backlash amount is maximum.

[0452] Here, the driving method for the reel motor is to increase the rotation speed to a predetermined target speed for a certain period of time from the start of driving, and then maintain that target speed until the target timing, and then stop excitation is performed in response to the detection of the movable reel 50 by the corresponding position sensor in the position sensor group 55.

[0453] The initial speed of the movable accessory 50 is faster when the backlash amount is maximum compared to when the backlash amount is minimum because the period of idling of the accessory motor caused by the backlash BL is longer than when the backlash amount is minimum. Due to this high initial speed, the point at which the movable body accessory 50 reaches its maximum speed (the position where the speed reaches the above-mentioned target speed) when the backlash amount is maximum is earlier than when the backlash amount is minimum. In other words, if the backlash amount at the start of driving the accessory motor is different, the time until the movable body accessory 50 reaches the predetermined target speed will differ.

[0454] Here, we have focused on the timing at which the specified target speed is reached, but as mentioned above, the fact that there is a difference in the time it takes for the movable device 50 to reach the target speed means that there will also be a difference in the time it takes for the movable device 50 to reach the specified position.

[0455] Figure 45B shows the difference in movement of the movable body accessory 50, taking into account not only the difference in the amount of backlash at the start of driving but also the difference in the position of the movable body accessory 50 at the start of driving, using a graph similar to Figure 45A. Specifically, in Figure 45B, the movement of the movable body reel 50 when it is located at the origin position and the amount of backlash is minimum when driving starts is shown by a thick solid line, and the movement of the movable body reel 50 when it is located at a position deeper than the origin position and the amount of backlash is maximum when driving starts is shown by a thick dashed line. Since the initial position of the movable body accessory 50 is set back, the time difference until the movable body accessory 50 reaches the predetermined target speed is larger than in the case of FIG. 45A.

[0456] Here, in the gaming machine 1 of this embodiment, an effect using the movable accessory 50 is performed in synchronization with the display image of the liquid crystal display device 20. In this embodiment, under such a premise, a measure against backlash is taken by configuring the gaming machine 1 as follows. In other words, the gaming machine 1 is configured so that the time difference (hereinafter referred to as "time difference Dt") until the movable body device 50 reaches a predetermined target speed when the movable body device 50 is driven from a state where the backlash amount (amount of play in the gear Gr) in the power transmission mechanism 58 is at its maximum and when the movable body device 50 is driven from a state where the backlash amount is at its minimum is less than one frame period of the image displayed on the liquid crystal display device 20.

[0457] By configuring the gaming machine 1 as described above, it is possible to make the timing at which the movable object device 50 reaches the target speed when the backlash amount is minimum and maximum within the display period of the same frame image, as shown in Figure 46A, and it is possible to make the delay in the movable object presentation caused by backlash less noticeable. Therefore, when performing a moving object presentation synchronized with an image, it is possible to prevent a decrease in the precision of the presentation.

[0458] Here, as described above, the time difference until the movable body part 50 reaches the predetermined target speed when the movable body part 50 is driven from a state where the backlash amount is maximum and when the movable body part 50 is driven from a state where the backlash amount is minimum is set to be less than one frame period. In other words, the "time difference until the movable body part 50 reaches the predetermined target speed" can be rephrased as the "time difference until the movable body part 50 reaches the predetermined target 'position'."

[0459] As shown in FIG. 46B, even when the difference in the initial position of the movable accessory 50 is taken into consideration, it is possible to make the time difference Dt less than one frame period. Specifically, the time difference until the movable body role 50 reaches a predetermined target speed is set to be less than one frame period when the movable body role 50 is driven from a state in which the movable body role 50 is located at the origin position and the amount of backlash is minimum, and when the movable body role 50 is driven from a state in which the movable body role 50 is located at a position recessed from the origin position and the amount of backlash is maximum. This makes it possible to prevent a decrease in the accuracy of the performance when a movable object performance synchronized with an image is performed, taking into consideration the possibility that differences may occur in the initial position of the movable object 50.

[0460] However, since there is a possibility of a malfunction if the movable device 50 is positioned in a recessed position, in such a case it may be possible to configure the time difference Dt to be one frame period or more.

[0461] Specific methods for making the time difference Dt less than one frame period as described above include adjusting the amount of backlash (adjusting the maximum amount of backlash) and adjusting the length of the frame period (frame rate).

[0462] Here, in the above example, the power source of the movable body accessory 50 is a motor, but the backlash countermeasure method described above does not particularly matter what type of power source the movable body accessory 50 is. In other words, the backlash countermeasure method described above can also be suitably applied to cases where the power source of the movable body accessory 50 is an actuator other than a motor, such as a solenoid.

[0463] Furthermore, although the power transmission mechanism 58 has been exemplified above as a transmission mechanism using a combination of circular gears, the power transmission mechanism 58 may also take the form of a transmission mechanism having a function of converting the direction of motion, such as a rack and pinion mechanism. In other words, the gear Gr in the power transmission mechanism 58 may include a non-circular gear such as a spur gear.

[0464] Here, in the example shown in Figure 46A, if the n+1th frame image when the movable body reel 50 reaches the target speed includes ...

Claims

1. A random number generating means for generating random numbers by a number circulation method; a lottery means for executing a lottery process using the random numbers generated by the random number generating means, The circulation time of the random numbers in the random number circuit of the random number generating means is shorter than the shortest execution interval of the lottery process in the lottery means. Gaming machine.

2. The random number generation means The random number generation circuit for generating random numbers includes at least a first random number generation circuit and a second random number generation circuit, The lottery means When a jackpot lottery is to be held, a first lottery process is executed based on the random number obtained from the first random number generation circuit; When a lottery relating to a game associated with the first lottery process is to be performed, a second lottery process is performed based on the random number obtained from the second random number generation circuit; The circulation time of the random numbers in the second random number generation circuit is longer than the shortest execution interval of the second lottery process. The gaming machine according to claim 1.

3. The device is configured to be able to execute a process of storing information relating to the game ball that has entered the starting hole as reserved ball information in a storage means, The circulation time of the random numbers in the second random number generating circuit is made longer than the shortest time required from when the reserved ball information of the first ball is stored in the storage means until when the reserved ball information of the maximum number of reserved balls is stored. The gaming machine according to claim 2.

Citation Information

Patent Citations

  • gaming machines

    JP2023027356A