Gaming machine
Patent Information
- Application Number
- JP2023068839
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-04-19
- Publication Date
- 2026-09-08
- Estimated Expiration
- 2043-04-19
AI Technical Summary
【0007】 本発明によれば、演出役物の駆動制御に係る演出制御手段の処理負担軽減を図ることができる。
Smart Images

Figure 0007917492000001 
Figure 0007917492000002 
Figure 0007917492000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a game machine, and particularly relates to the technical field of a game machine provided with a movable accessory for performance. [Background Art]
[0002] As disclosed in, for example, the following Patent Document 1, some game machines are provided with a movable accessory for performance. [Prior Art Documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Unexamined Patent Application Publication No. 2022-140964 [Brief Summary of the Invention] [Problem to be Solved by the Invention]
[0004] Here, recent game machines perform various performance operations, and the processing load on performance control means that controls performances tends to increase.
[0005] The present invention has been made in view of the above circumstances, and an object of the present invention is to reduce the processing load on performance control means related to drive control of a performance accessory. [Means for Solving the Problem]
[0006] The gaming machine according to the present invention comprises a motor provided as a power source for a performance feature, a driver that drives the motor, a drive control means that outputs a drive control signal which is a signal that instructs the driver on the driving mode of the motor, a performance control means that controls the output of the drive control signal by the drive control means according to a feature performance scenario data which is scenario data that manages the operation scenario of the performance feature, and a storage means that can be read by the performance control means, wherein a plurality of series of feature operations to be performed by the performance feature are defined as operation parts, and the storage means stores control command management data which manages control commands that instruct the drive control means to output the drive control signal for each defined operation part, and the performance control means performs a control command output process which reads the control command corresponding to one of the operation parts related to the series of feature operations from the control command management data and outputs it to the drive control means when it is time to execute the series of feature operations as the operation scenario based on the feature performance scenario data progresses. In conventional gaming machines, the performance control means would output control signals to the driver to instruct the operation of the mechanism motor at a timer interrupt cycle, such as a 1ms cycle. This tended to increase the processing burden on the performance control means in order to control the operation of the mechanism. With the above configuration, in order to realize a series of operations of the mechanism, the performance control means no longer needs to output control signals to the driver at a timer interrupt cycle as in the conventional method. [Effects of the Invention]
[0007] According to the present invention, the processing burden on the performance control means related to the drive control of performance devices can be reduced. [Brief explanation of the drawing]
[0008] [Figure 1] This is a perspective view showing the exterior of a gaming machine. [Figure 2] This is a perspective view of a gaming machine with the front frame open. [Figure 3] This is a diagram showing the configuration of the game board of a gaming machine. [Figure 4] This is an explanatory diagram illustrating an example of the operation of a movable mechanism. [Figure 5] This is a block diagram showing the control configuration of a gaming machine. [Figure 6] This is an explanatory diagram illustrating an example of a pre-announcement effect. [Figure 7] This is a flowchart showing the main processing on the primary control side. [Figure 8] This is a flowchart illustrating the main loop processing. [Figure 9] This is a flowchart illustrating the timer interrupt processing on the main control side. [Figure 10] This is a flowchart showing the normal pattern management process. [Figure 11] This diagram illustrates an example of a winning / losing determination table. [Figure 12] This diagram illustrates an example of the type of win, the duration of the variation, and the confirmation time for a standard symbol variation display game. [Figure 13] This is a flowchart illustrating the special pattern management process. [Figure 14] Figure 1 is a flowchart illustrating the start port check process. [Figure 15] This is a flowchart illustrating the process for initiating special symbol variations. [Figure 16] This is a flowchart illustrating the process for determining the winning random number. [Figure 17] This diagram shows an example of a jackpot determination table. [Figure 18] This is a diagram explaining the method for determining the winning random number. [Figure 19] This is a flowchart illustrating the process of selecting the winning design. [Figure 20] This diagram shows an example of a pattern table. [Figure 21] This is a flowchart illustrating the process of selecting a variable pattern. [Figure 22] This figure shows an example of a variable pattern lottery table. [Figure 23]It is a flowchart showing the main processing on the performance control side. [Figure 24] It is a flowchart showing timer interrupt processing on the performance control side. [Figure 25] It is a diagram showing an outline of the configuration of a conventional movable body accessory control system. [Figure 26] It is a diagram showing an outline of the configuration of a movable body accessory control system according to an embodiment. [Figure 27] It is a block diagram showing an example of a schematic internal configuration of a motor drive control unit in the embodiment. [Figure 28] It is an operation explanatory diagram of a current up-down control circuit in the embodiment. [Figure 29] It is an explanatory diagram of various control data used for realizing movable body accessory control according to the embodiment. [Figure 30] It is an explanatory diagram of an example of a data structure of accessory sub-scenario data in the embodiment. [Figure 31] It is an explanatory diagram of an example of a data structure of divided operation management data in the embodiment. [Figure 32] It is an explanatory diagram of an example of a data structure of control command management data in the embodiment. [Figure 33] It is a diagram showing an example of a work screen for defining operation parts. [Figure 34] It is a flowchart showing SOL·MOT output processing in the embodiment. [Figure 35] It is a circuit block diagram showing an example of the configuration of a peripheral circuit of the motor drive control unit in the embodiment. [Figure 36] It is a diagram showing the correspondence between input values to a drive mode terminal and drive modes in the embodiment. [Figure 37] It is a diagram exemplifying a state of switching of a motor drive current value according to a current up-down signal. [Figure 38] It is an explanatory diagram of a startup mode control circuit in the embodiment. [Figure 39] It is an explanatory diagram of an example of a method for a performance control board to detect self-reset of a motor drive control unit. [Modes for carrying out the invention]
[0009] Hereinafter, embodiments of the present invention will be described in the following order with reference to the attached drawings. <1. Structure of a gaming machine> <2. Control Configuration of Gaming Machines> [2.1 Main Control Board] [2.2 Performance Control Board] <3. Overview of Operation> [3.1 Game Status] [3.2 Symbol Variation Display Game] [3.3 About the Big Win] [3.4 Regarding the direction / staging] <4. Processing on the main control board> [4.1 Main Control Side Main Processing] [4.2 Main Control Timer Interrupt Processing] <5. Processing on the performance control board> [5.1 Main Processing on the Performance Control Side] [5.2 Timer interrupt processing on the performance control side] <6. Control of movable parts as an embodiment> [6.1 Overview of Control Methods as Embodiments] [6.2 Regarding the motor drive control unit] [6.3 Control Data Creation Method as an Embodiment] [6.4 Control Processing of Movable Parts as an Embodiment] (6.4.1 Processing Flow) (6.4.2 About Microstepping Drives) (6.4.3 Regarding the use of pre-registers) [6.5 Current value switching as an embodiment, and measures to prevent motor malfunction during startup] [6.6 Measures to prevent parts from falling during startup] [6.7 Other Configuration Examples] <7. Variation> <8. Summary of Embodiments>
[0010] <1. Structure of a gaming machine> The overall structure of the gaming machine 1 as an embodiment of the present invention will be described with reference to Figures 1 and 2. Figure 1 is a perspective view showing the external appearance of the gaming machine 1 according to the 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 so as to be openable and closable by a hinge mechanism, and a front frame 4 attached to the inner frame 3 so as to be openable and closable by a hinge mechanism. The inner frame 3 is formed in the shape of a picture frame, and the game board 5 is held inside. Various control boards (see Figure 5) for controlling the game operation are arranged on the back side of the game board 5.
[0012] The front frame 4 holds a transparent glass 6 in the center, and side units 7 are provided so as to surround all or part of the transparent glass 6. The side unit 7 is designed with a decorative shape that matches the theme of the gaming machine 1, and may also be equipped with LEDs, mechanical devices, and other performance elements inside, thereby conveying the atmosphere of the game to the player. This side unit 7 is a unit that can be interchangeably attached to the front frame 4.
[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 in one direction, the lock of the front frame 4 on the inner frame 3 is released, allowing the front frame 4 to be opened forward. By operating it in the other direction, the lock of the inner frame 3 on the outer frame 2 is released, allowing the inner frame 3 to be opened forward.
[0014] A front control panel 8 is located on the lower side of the front frame 4. The front control panel 8 is equipped with an upper tray unit 9, and this upper tray unit 9 has an upper tray 10 formed therein for storing the dispensed game balls.
[0015] Furthermore, the upper tray unit 9 is equipped with a ball dispensing button 11 for requesting the dispensing of game balls from a game ball dispensing device (not shown), a card return button 12 for requesting the return of a valuable medium inserted into the game ball dispensing device, and a ball removal button 13 for removing the game balls stored in the upper tray 10 to the bottom of the game machine 1.
[0016] Furthermore, the upper tray unit 9 is provided with an operating section 14 (see Figure 5) configured to be operated by the player. The operating section 14 includes a performance button 14a, a directional pad 14b, and a confirmation button 14c. The performance button 14a becomes operable (input accepted) when its built-in lamp (button LED 49) lights up during a predetermined input acceptance period, and by performing a predetermined operation (pressing, repeatedly pressing, holding, etc.) while the built-in lamp is lit, it is possible to change the performance. The directional pad 14b is an operator used by players, hall staff, etc., to select various items and indicate directions. The confirmation button 14c is an operator used to confirm the selected item.
[0017] A launch operation handle 15 for operating the launch device 44 (see Figure 5) is provided on the right end of the front control panel 8.
[0018] Multiple decorative lamps 16 (for example, full-color LEDs for light effects) are provided in appropriate locations on the front frame 4 to produce light effects. Multiple of these decorative lamps 16 are provided around the gaming machine 1, for example, around the periphery of the front frame 4 and within the side unit 7.
[0019] Furthermore, speakers 17 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 to produce sound effects. Multiple speakers 17 are used to enable stereo sound reproduction and multi-channel sound reproduction for sounds related to the performance.
[0020] Next, the configuration of the game board 5 will be explained with reference to Figure 3. Figure 3 is a front view of the game board 5. The game board 5 shown in the illustration has a ball guide rail 18 mounted in a ring shape as a board surface partitioning member to guide the launched game ball. The roughly circular area surrounded by this ball guide rail 18 is the game area 19, and 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 through which game balls can flow.
[0021] Approximately in the center of this game area 19, a liquid crystal display (LCD) 20 is provided, which is capable of independently displaying variations (variation display and stop display) of multiple types of decorative symbols (for example, left symbol (corresponding to the left display area), middle symbol (corresponding to the middle display area), and right symbol (corresponding to the right display area)) in, for example, three display areas (symbol variation display areas) (left, middle, and right). This liquid crystal display device 20, under the control of the performance control board 41 described later, displays various effects as images, in addition to the changing display operation of decorative patterns.
[0022] Furthermore, 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 collisions with game balls, and also functions as a path distribution means that allows the path of the game balls to be divided to the left or right depending on the force or stroke length of the launch of the game balls. In this embodiment, the center ornament 21 is positioned approximately in the center of the game area 19, dividing the game area 19 into a left game area 19a and a right game area 19b. Game balls launched by the launching device 44 with a launching intensity below a predetermined level flow down the left game area 19a, while game balls launched with a launching intensity above a predetermined level flow down the right game area 19b.
[0023] The non-game area at the bottom of the game board 5 serves as a display area for various functions, and is equipped with a special symbol display device 22a and a special symbol display device 22b, both using dot matrix displays. Figure 6 shows an enlarged view of the various function display units, including the special pattern display devices 22a and 22b.
[0024] In the special symbol display devices 22a and 22b, a special symbol variation display game is executed by the variation display operation of "special symbols" represented by dot displays. In the liquid crystal display device 20, in time synchronization with the variation display of special symbols by the special symbol display devices 22a and 22b, decorative symbols are displayed as images, and a decorative symbol variation display game is executed along with various preview effects (effect images).
[0025] Furthermore, the various function display units are equipped with a composite display device 22c, which, like the special symbol display devices 22a and 22b, consists of a dot display. The term "composite" is used because it is a composite display device (hereinafter simply referred to as the "composite display device") that has five display functions: display of 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 the regular symbols, and status notification during the time-saving state and the high probability state.
[0026] Furthermore, various function display units are equipped with a composite display device 22d, which is also a dot matrix display. This combined display device 22d displays the number of rounds, which is the specified number of rounds (maximum number of rounds) related to a jackpot, based on the combination of the on / off states of the four LEDs. Furthermore, in the combined display device 22d, a game of displaying a regular symbol variation is executed by the variation display operation of a regular symbol represented by a single LED. Furthermore, the combined display device 22d uses three LEDs to indicate that the player should shoot to the right. The right-shooting indicator shows that it is more advantageous for the player to shoot the game ball towards the right game area 19b than to shoot it towards the left game area 19a.
[0027] A first start port 23 is provided in the center of the game board 5, below the liquid crystal display device 20. Inside the first start port 23 is a first start port detection sensor 23a (see Figure 5) that detects the passage of a game ball. Furthermore, a second start port 24 is provided in the right game area 19b, and a second start port detection sensor 24a (see Figure 3) is provided inside to detect the passage of game balls.
[0028] The first starting opening 23 is a prize-winning opening related to the starting conditions for the variable display operation of special symbol 1 in the special symbol display device 22a, and is configured as a fixed starting opening without starting opening opening opening means (means that allow the starting opening to be opened or enlarged). In this embodiment, due to the action of the game ball fall direction changing members (for example, game pins, windmills, center decorations 21, etc.) in the game area 19, game balls that have rolled through the left game area 19a can easily enter the first starting opening 23, while game balls that have rolled through the right game area 19b are difficult or impossible to enter.
[0029] The second starting port 24 is a prize entry port related to the starting conditions for the variable display operation of special symbol 2 in the special symbol display device 22b, and is configured as a variable starting port whose opening and closing is controlled by the ordinary electric mechanism 25. The standard electric mechanism 25 is controlled to either an open state that allows game balls to enter the second starting port 24, or a closed state that makes it difficult or impossible for game balls to enter the second starting port 24. In this embodiment, the second starting port 24 is located in the right game area 19b, and only game balls that have rolled through the right game area 19b can enter it, however, game balls that have rolled through the left game area 19a may also be able to enter it.
[0030] Furthermore, above the second starting gate 24, that is, above the middle section of the right game area 19b, there is a normal symbol gate 26 through which game balls can pass. This normal symbol gate 26 is a prize entry point related to the variable display operation of normal symbols in the composite display device 22d, and inside it is a normal symbol gate detection sensor 26a (see Figure 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 may be provided only in the left game area 19a, or in both.
[0031] Below the second starting opening 24 in the right game area 19b, a first large prize opening 27 and a second large prize opening 28 are provided. The first large prize opening 27 and the second large prize opening 28 are positioned so that only game balls rolling in the right game area 19b can enter. However, the first large prize opening 27 and the second large prize opening 28 may be positioned so that only game balls rolling in the left game area 19a can enter, or they may be positioned so that game balls rolling in both the left game area 19a and the right game area 19b can enter. The first large prize opening 27 is controlled to open and close by the first special electric mechanism 29. The first special electric mechanism 29 is controlled to be either open, allowing game balls to enter the first large prize opening 27, or closed, making it difficult or impossible for game balls to enter the first large prize opening 27. The second large prize opening 28 is controlled to open and close by the second special electric mechanism 30. The second special electric mechanism 30 is controlled to either an open state that allows game balls to enter the second large prize opening 28, or a closed state that makes it difficult or impossible for game balls to enter the second large prize opening 28. Inside the first and second large prize slots 27 and 28, respectively, are provided a first large prize slot detection sensor 27a and a second large prize slot detection sensor 28a (see Figure 5) for detecting the passage of game balls.
[0032] Furthermore, multiple general prize entry points 31 are provided on the left and right lower sides of the game area 19, and each of these is equipped with a general prize entry point detection sensor 31a (see Figure 5) that detects the passage of a game ball.
[0033] Furthermore, within the game board area, a movable mechanism 50 that provides visual effects is positioned so as not to interfere with the rolling of the game balls. In this example, the gaming machine 1 has two movable components 50: a movable component 50x and a movable component 50y. When not in a performance state, these movable components 50x and 50y are positioned in a location (shielded position) that is obscured by other components from the view of a player facing the gaming machine 1, so that they are not visible to the player. In the performance state, these movable parts 50x and 50y are driven by the mechanism motors 53x and 53y, described later, and are displaced from the above-mentioned shielded position, as illustrated in Figure 4, to become visible to the player. Here, the displacement mode of the movable parts 50x and 50y is illustrated as being positioned on the liquid crystal display device 20 in the performance state, but the displacement mode of the movable parts 50 is not limited to this and can be varied.
[0034] In this example, the movable component 50x is configured such that its shielding position is below that of the liquid crystal display device 20, and it is displaced upward from the shielding position during the performance. On the other hand, the movable mechanism 50y is configured such that its shielding position is above the liquid crystal display device 20, and it is a movable mechanism 50 that is displaced downward from the shielding position during the performance state.
[0035] Furthermore, in the gaming machine 1 of this embodiment, when a game ball enters one of the various prize slots provided in the gaming area 19, the number of prize balls set for the prize slot into which the game ball entered (for example, 3 balls for the first start slot 23, 1 ball for the second start slot 24, 15 balls for the first major prize slot 27 and the second major prize slot 28, and 5 balls for the general prize slot 31) is dispensed from the game ball dispensing device 46 (see Figure 5). Game balls that do not enter any of the above prize slots are discharged from the gaming area 19 via the out slot 32.
[0036] <2. Control Configuration of Gaming Machines> Figure 5 is a block diagram showing the control configuration of the gaming machine 1. Referring to the block diagram in Figure 5, the configuration (control configuration) for realizing the game operation control of the gaming machine 1 will be explained. The gaming machine 1 of this embodiment is configured to include a main control board 40 that comprehensively controls the overall operation of the game (game operation control), an effect control board 41 that receives effect control commands from the main control board 40 and comprehensively controls the execution of effects by the effect 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), a ROM (Read Only Memory) 40b (main control ROM) that stores various data necessary for game operation control as well as a control program that describes the game operation control procedure, and a RAM (Random Access Memory) 40c (main control RAM) that functions as a work area and buffer memory, thus forming a microcomputer as a whole.
[0038] Although not shown in the diagram, the main control board 40 also includes a CTC (Counter Timer Circuit) for implementing periodic interrupts, a function to create pulse outputs of a fixed period (bitrate generator), and a time measurement function; an interrupt controller circuit that performs interrupt enable / disable functions such as timer interrupts that provide interrupt signals to the CPU 40a; a reset circuit that can reset the CPU 40a by outputting a system reset signal when power is turned on, cut off, or a power supply abnormality is detected; a watchdog timer (WDT) circuit that monitors abnormal operation of the control program; an Intrusion Prevention Attack (IAT) circuit that monitors whether the program is being executed correctly within a preset address range; and a counter circuit for generating random numbers within a certain range in hardware.
[0039] The counter circuit described above consists of a random number generation circuit that generates random numbers and a sampling circuit that samples random values from the random number generation circuit at predetermined timings, and functions as a 16-bit counter as a whole. The CPU 40a sends instructions to the sampling circuit according to the processing state to obtain the value indicated by the random number generation circuit as a random number for determining the jackpot (0 to 65535), and uses this random number for determining the jackpot (winning or losing lottery). The random number for determining the jackpot is obtained by adding a software random value, which is generated by appropriate software processing, and a hardware random value, in order to prevent cheating such as targeting specific winning numbers.
[0040] The main control board 40 is connected to a first start opening detection sensor 23a that detects ball entry into the first start opening 23, a second start opening detection sensor 24a that detects entry into the second start opening 24, a normal symbol gate detection sensor 26a that detects passage through the normal symbol gate 26, a first large prize opening detection sensor 27a that detects entry into the first large prize opening 27, a second large prize opening detection sensor 28a that detects entry into the second large prize opening 28, a general prize opening detection sensor 31a that detects entry into the general prize opening 31, and an OUT monitoring sensor 32a that detects game balls (out balls) ejected from the game area 19. 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 can determine which prize opening a game ball has entered.
[0041] Furthermore, the main control board 40 is connected to a standard electric mechanism solenoid 25a that operates a standard electric mechanism 25 that opens and closes the second start opening 24, a first special electric mechanism solenoid 29a that operates a first special electric mechanism 29 that opens and closes the first large prize opening 27, and a second special electric mechanism solenoid 30a that operates a second special electric mechanism 30 that opens and closes the second large prize opening 28. The main control board 40 is capable of transmitting control signals to control these mechanisms.
[0042] The main control board 40 is connected to the special pattern display devices 22a and 22b, and the main control board 40 is capable of transmitting control signals for displaying and controlling special patterns 1 and 2. Furthermore, the main control board 40 is connected to the composite display device 22c and the composite display device 22d, and the main control board 40 is capable of transmitting control signals to control the display of various information shown on the composite display device 22c and the composite display device 22d.
[0043] A RAM clear switch 34 is connected to the main control board 40, and the main control board 40 is capable of receiving detection signals from the RAM clear switch 34. The RAM clear switch 34 is located in a predetermined position inside the gaming machine 1. For example, it is located on the main control board 40.
[0044] The RAM clear switch 34 is, for example, a push-button type switch used to input 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 the RAM clear button, which is provided so that it can be operated when the front frame 4 is open.
[0045] The main control board 40 is also connected to a performance indicator 35. The performance indicator 35 is configured, for example, with a 7-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 control signals to the performance indicator 35 for displaying performance information.
[0046] The main control board 40 is connected to the payout control board 42, and when it is necessary to pay out prize balls, it is possible to send control commands related to payouts (payout control commands that specify the number of prize balls) to the payout control board 42.
[0047] Furthermore, the main control board 40 is connected to an external centralized terminal board 43 for the frame via a payout control board 42, and is capable of transmitting predetermined game information (for example, jackpot information, prize ball count information, symbol change execution information, etc.) to an externally located 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.
[0048] The payout control board 42 is connected to a launch control board 45 that controls the launching device 44 and a game ball payout device 46 that dispenses game balls. Furthermore, a ball dispensing machine 70 is connected to the payout control board 42. The ball dispensing machine 70 is located outside the game machine 1 and performs processing to enable the payout control board 42 to perform the ball dispensing 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 by the game ball payout device 46 based on the payout control commands, transmit status signals to the main control board 40, and control the payout control board 42 for ball dispensing operations based on the results of communication with the ball dispensing machine 70.
[0049] The game ball dispensing device 46 is equipped with a supply shortage detection sensor 46a for detecting insufficient supply of game balls and a ball counting sensor 46b for detecting the number of game balls (prize balls) to be dispensed, and the dispensing control board 42 is capable of receiving these detection signals. The game ball dispensing device 46 is also equipped with a dispensing motor 46c for driving a ball dispensing mechanism (not shown) for dispensing game balls, and the dispensing control board 42 is capable of transmitting control signals to control the dispensing motor 46c.
[0050] The payout control board 42 is connected to a fullness detection sensor 47 that detects when the upper tray 10 is full of game balls, and a front door open sensor 48 that detects when the front frame 2 is open.
[0051] The payout control board 42 is capable of transmitting various status signals to the main control board 40 based on detection signals from the full-capacity detection sensor 47, the front door open sensor 48, the supply depletion detection sensor 46a, and the ball count sensor 46b. These status signals include a ball jam signal indicating a full-capacity state, a door open signal indicating that at least the front frame 2 is open, a supply depletion signal indicating insufficient supply of game balls from the game ball payout device 46, a counting error signal indicating insufficient payout of prize balls or an abnormality in the ball count sensor 46b, and a payout completion signal indicating that the payout operation has been completed. The main control board 40 is configured to transmit a variety of status signals. 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 or not (supply depletion error), and the full-capacity state of the upper tray 10 (ball jam error), etc.
[0052] Furthermore, the payout control board 42 is capable of transmitting a permission signal to the launch control board 45 that permits launching. Based on the output of the permission signal from the payout control board 42, the launch control board 45 controls the power supply to the launch solenoid (not shown) provided on the launching device 44, thereby realizing the launching operation of the game ball by operating the launching handle 15. Specifically, the launching operation of the game ball is permitted under the following conditions: the payout control board 42 outputs a launch permission signal (launch permission signal ON state), a touch sensor (not shown) provided on the launching handle 15 detects that the player is touching the handle, and the launch stop switch (not shown) provided on the launching handle 15 is not operated. Therefore, if the launch permission signal is not output (launch permission signal OFF state), the launching operation will not be performed even if the launching handle 15 is operated, and no game ball will be launched. In addition, the launch intensity of the game ball can be changed according to the amount the launching handle 15 is operated. Furthermore, when the dispensing control board 42 detects the 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 performs control to stop the launching operation until the upper tray 10 is cleared of its full state. Furthermore, the dispensing control board 42 outputs a launch permission signal to the launch control board 45 only when launch permission has been instructed by the main control board 40.
[0053] (Regarding performance specifications) The main control board 40 is capable of transmitting control signals to the performance indicator 35 to display predetermined performance information. Performance information refers to information that pachinko parlors and relevant government agencies want to verify. Typical examples include information on whether or not there are any fraudulent payout tactics such as excessive payouts on the gaming machine, and information on the machine's inherent payout performance. Therefore, unlike pre-announcement effects and other such information, performance information itself is not directly related to the progress of the game while the player is enjoying the game.
[0054] For this reason, the performance indicator 35 is installed inside the gaming machine 1, for example, on the main control board 40, payout control board 42, launch control board 45, relay board, performance control board 41, or on the board case (protective cover that protects the board), in a position where the display information can be seen when the front frame 2 is open.
[0055] Here, the performance information can specifically include the following: (1) Information based on the value obtained by dividing the total number of balls dispensed by winning during a specific state (total number of balls dispensed during the specific state: α) by the total number of balls that were ejected from the game area 19 during the specific state (number of balls that were ejected during the specific state: β) (α / β) (specific ratio information) can be adopted as performance information. The "total number of balls dispensed" mentioned above refers to the total number of game balls (prize balls) dispensed when the ball enters one of the prize winning slots (1st starting slot 23, 2nd starting slot 24, general prize slot 31, 1st major prize slot 27, 2nd major prize slot 28). Furthermore, the specific state to be adopted can be determined as appropriate depending on the performance information to be captured under what state. In this embodiment, any of the multiple game states, including the state during a jackpot, can be adopted. In addition, multiple types of states may be used as measurement targets. For example, all game states except during a jackpot, and the types to be measured can be determined as appropriate. Furthermore, the total number of payouts may be calculated by excluding one or more specific winning slots from the measurement (total payouts excluding specific winning slots). For example, the total number of payouts may be calculated by excluding the first major winning slot 27 and the second major winning slot 28 from the measurement.
[0056] (2) In addition, the total number of balls dispensed, the total number of balls dispensed excluding specific prize slots, or the total number of balls that go out may be measured, and the measurement results may be used as performance information.
[0057] In this embodiment, the total number of balls dispensed during normal operation (normal payouts) and the total number of balls out during normal operation (normal outs) are measured in real time, and the value obtained by dividing the normal payouts by the normal outs and multiplying the result by 100 (calculated as normal payouts ÷ normal outs × 100) is displayed as performance information (hereinafter referred to as "normal ratio information"). The displayed value is rounded to the first decimal place. Therefore, data on the number of balls dispensed under normal conditions, the number of balls out under normal conditions, and the ratio information under normal conditions are stored in the corresponding areas of RAM40c (specific total prize ball storage area, specific balls out storage area, and specific ratio information storage area). However, instead of simply measuring and displaying performance information indefinitely, the measurement is terminated once the total number of balls out reaches a predetermined number (for example, 60,000 balls). This predetermined number is not the total number of balls out under normal conditions, but the total number of balls out during all game states (including during winning games) (hereinafter referred to as "total number of balls out under all conditions"). This total number of balls out under all conditions is also measured in real time and stored in the corresponding area of RAM40c (total number of balls out under all conditions storage area). For the sake of explanation, the specific total prize ball storage area, specific balls out storage area, specific ratio information storage area, and total number of balls out under all conditions storage area will be abbreviated as "measurement information storage area".
[0058] Then, the normal ratio information at the end of the measurement is stored in a predetermined area (performance display storage area) of RAM40c (to store the current normal ratio information), and after that, the measurement information storage area (normal payout count, normal out count, and total out count) is cleared, and then measurement is started again (measurement of normal payout count, normal out count, normal ratio information, and total out count is started). The setting / performance display unit 35 then displays the previous normal ratio information (measurement history information) and the normal ratio information currently being measured. Note that the system may be configured to display history not only for the previous information, but also for the time before last and the time before that (3 times ago), and the number of times back in time information to display can be determined as appropriate.
[0059] (Performance control command) The main control board 40 is capable of transmitting various performance control commands, including information related to the special symbol variation display game and error information, to the performance control board 41, depending on the processing status. However, in order to prevent fraudulent activities such as cheating, the main control board 40 is configured for one-way communication, only transmitting signals to the performance control board 41 and not being able to receive signals from the performance control board 41.
[0060] Here, the performance control command defines its function using a two-byte configuration consisting of a one-byte mode and a one-byte event. To distinguish between MODE and EVENT, Bit 7 of MODE is set to ON and Bit 7 of EVENT is set to OFF. When this information is transmitted as valid, a strobe signal is output corresponding to each of the mode and event. That is, when the CPU 40a (main control CPU) has a command to send, it sets and outputs mode information for sending the command to the performance control board 41, and transmits the first strobe signal after a predetermined time has elapsed since this setting. Furthermore, after a predetermined time has elapsed since the transmission of this strobe signal, it sets and outputs event information, and transmits the second strobe signal after a predetermined time has elapsed since this setting. The strobe signal is controlled to be active by the CPU 40a for a predetermined period to ensure that the CPU 41a (performance control CPU) can reliably receive the command.
[0061] [2.2 Performance Control Board] The performance control board 41 is primarily composed of a microcomputer equipped with a microprocessor with a built-in CPU 41a, a ROM 41b that stores 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., to control the overall performance operation.
[0062] 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 generator 17a, and the movable mechanism 50.
[0063] ROM41b stores the control program for the performance actions performed by CPU41a, as well as various data necessary for controlling those actions. RAM41c is used by the CPU41a as a work area for various calculations, a table data area, a buffer area for various input / output data and processing data, etc. The performance control board 41 is configured, for example, with a single-chip microcomputer and its peripheral circuits, but various configurations are possible for the performance control board 41. For example, in addition to the microcomputer, it may also include interface circuits to various parts, a random number generation circuit to generate random numbers for drawing for performances, a CTC for various time counting, a watchdog timer (WDT) circuit, and an interrupt controller circuit that provides interrupt signals to the CPU 41a.
[0064] The main roles of this performance control board 41 are to receive performance control commands from the main control board 40, to select and determine performances based on the performance control commands, to control the display of the liquid crystal display device 20 (supply of display data), to control the sound output of the sound generator 17a, to control the light emission of the light display device 16a (LED), and to control the operation of the movable mechanism 50.
[0065] Since this performance control board 41 also functions as a control device for the liquid crystal display device 20, the performance control board 41 is equipped with functions as 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 a function that controls all aspects of video output processing, including image processing and image rendering. Image ROM refers to the memory where the image data used for image processing by the VDP is stored. VRAM is an image memory area that temporarily stores image data expanded by VDP.
[0066] With these configurations, 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.
[0067] Furthermore, the performance control board 41 has an acoustic control unit for the sound generating device 17a, which includes multiple speakers 17. The acoustic signals output by the acoustic control unit are amplified by the amplifier unit 17b and supplied to the speakers 17. Furthermore, the performance control board 41 is connected to a lamp driver unit 16b, which functions as a light display control unit for the light display device 16a, including decorative lamps 16 and various LEDs, and a motor drive control unit 51, which controls the operation of the movable props 50 (movable props 50x and 50y in this example). 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 of the light display device 16a and the operation of the movable props 50.
[0068] In this game machine 1, there is a group of feature motors 53 consisting of multiple feature motors (feature motors 53x, 53y described later) for driving each movable feature 50, and a group of motor drivers 52 consisting of multiple motor drivers (motor drivers 52x, 52y described later) for controlling the drive of each feature motor in the group of feature motors 53. However, in the game machine 1 of this embodiment, the performance control board 41 does not directly control each motor driver in the group of motor drivers 52, but rather controls the operation of each motor driver via the motor drive control unit 51. Details of the control of the movable parts as an embodiment performed via the motor drive control unit 51 will be explained in more detail later.
[0069] In this embodiment, each of the motors in the motor group 53 is, for example, a bipolar motor.
[0070] The origin switch group 54 comprehensively represents multiple origin switches for determining whether each movable component 50 is in the origin position, and the position sensor group 55 comprehensively represents position sensors (position sensors 55x, 55y, described later) provided for each movable component 50 to detect its operating position (for example, the amount of movement from the origin position).
[0071] In the gaming machine 1 of this embodiment, the detection signals from each position sensor in the position sensor group 55 are input to the motor drive control unit 51, not to the performance control board 41. As will be described later, the motor drive control unit 51 is capable of performing controls based on instructions from the performance control board 41, such as moving the movable prop 50 to the sensor position and stopping it, in response to input from the position sensor.
[0072] In the origin switch group 54, each origin switch is composed of, for example, a photointerrupter, and detects whether the corresponding movable component 50 is in the origin position. The origin position is, for example, the shielding position as explained with reference to Figure 4. The performance control board 41 is capable of determining whether the movable mechanism 50 is in the origin position based on the detection signals of the origin switches in the origin switch group 54. Based on the result of this determination, the performance control board 41 is capable of performing an origin return process to return each movable mechanism 50 to its origin position.
[0073] Furthermore, the performance control board 41 is connected to operation detection switches for the performance buttons 14a, the directional pad 14b, and the select button 14c, which are referred to as the operation unit 14, and the performance control board 41 is capable of receiving operation detection signals from the performance buttons 14a, the directional pad 14b, and the select button 14c, respectively.
[0074] Furthermore, the performance control board 41 is equipped with a handle sensor 56 (touch sensor) for detecting whether or not the firing operation handle 15 shown in Figure 1 is being touched by the player. Based on the detection information from this handle sensor 56, the performance control board 41 can determine whether or not the firing operation handle 15 is being touched by the user.
[0075] The performance control board 41, based on performance control commands sent from the main control board 40, selects (determines) a performance pattern from a pre-prepared set of performance patterns either by lottery or uniquely, and controls various performance means at the necessary timing to produce the desired performance. This enables the display of performance images on the liquid crystal display device 20 corresponding to the performance pattern, the playback of sound from the speaker 17, and the operation of lighting and flashing decorative lamps 16 and LEDs. Various performance patterns (such as decorative symbol variation display operations and pre-announcement performances) unfold chronologically, realizing a "performance scenario" in a broad sense.
[0076] Here, regarding the performance control command, the performance control board 41 (CPU 41a) generates an interrupt based on the input of the strobe signal transmitted by the main control board 40 (CPU 40a) to receive and analyze it. Specifically, the CPU 41a executes a control program for command reception interrupt processing based on the input of the strobe signal, and in the interrupt processing realized thereby, it acquires the performance control command and analyzes the command content. In this case, when an interrupt occurs based on the input of a strobe signal, CPU41a will interrupt the execution of an interrupt process based on another interrupt (a timer interrupt process that is executed periodically) and perform a command reception interrupt process, and will prioritize the command reception interrupt process even if other interrupts occur simultaneously.
[0077] <3. Overview of Operation> Next, we will explain the general operation of the gaming machine 1, which is realized by the control configuration described above (Figure 5).
[0078] [3.1 Game Status] In the gaming machine 1 according to this embodiment, in addition to the special game state of a jackpot game, multiple types of game states can be set. To facilitate understanding of this embodiment, the various game states will first be described.
[0079] In this embodiment, the game progresses in one of two game states, which is a combination of either a low probability state or a high probability state, and either a non-time-saving state or a time-saving state.
[0080] A low-probability state is a state in which the probability of winning the jackpot lottery, described later, is relatively low, while a high-probability state is a state in which the probability of winning the jackpot lottery is relatively high. In the non-shortened time state, it is relatively difficult for game balls to enter the second starting opening 24, while in the shortened time state, it is relatively easy for game balls to enter the second starting opening 24. In this embodiment, the opening time of the second starting opening 24 when winning the regular symbol win lottery, described later, is set to be longer in the shortened time state than in the non-shortened time state. However, if it is easier for game balls to enter the second starting opening 24 in the shortened time state than in the non-shortened time state, then in the shortened time state, for example, the probability of winning the regular symbol win lottery may be increased or the variation time of the regular symbols may be shortened compared to the non-shortened time state.
[0081] In this embodiment, "normal state" refers to the low-probability state and the non-time-saving state, and corresponds to the initial state.
[0082] [3.2 Symbol Variation Display Game] (Regarding the holding of special symbols) In the gaming machine 1, when a game ball enters the first start port 23 or the second start port 24, that is, when a detection signal is input from the first start port detection sensor 23a or the second start port detection sensor 24a, random numbers related to the special symbol variation display game described later (random numbers for jackpot determination, random numbers for special symbol determination, random numbers for variation pattern) are acquired, and these random numbers are stored as reserved data in the special symbol reserved storage area of the RAM 40c up to a predetermined upper limit, which is the maximum number of reserved memories (for example, a maximum of 4). This special feature retention memory area is provided with special feature retention memory areas corresponding to the special feature 1 side and the special feature 2 side, namely, the special feature 1 retention memory area and the special feature 2 retention memory area.
[0083] These special symbol hold memory areas are provided with Hold 1 memory area to Hold n memory area (where n is the maximum number of hold memories: in this embodiment, n=4), and each can store hold data up to the maximum number of hold memories. There is no particular limit to the maximum number of hold memories in Special Symbol 1 Hold Memory Area and Special Symbol 2 Hold Memory Area. In addition, the maximum number of hold memories for each symbol may be all or part different, and the number can be determined as appropriate according to the gameplay. The game balls associated with the reserved data stored in this special feature reserved memory area are also referred to as "reserved balls." To make the number of these reserved balls clear to the player, the dot displays corresponding to the number of reserved balls in special feature 1 and special feature 2 on the combined display device 22c are lit up, or the reserved ball indicators provided as icon images on the screen of the liquid crystal display device 20 are lit up.
[0084] (Special symbol variation display game) In the gaming machine 1 of this embodiment, a "jackpot lottery" is performed by random number generation on the main control board 40 based on predetermined starting conditions, specifically, when a game ball enters (wins a prize) into the first starting port 23 or the second starting port 24. Based on the results of the jackpot lottery, the main control board 40 starts a special symbol variation display game by displaying special symbol 1 and special symbol 2 on the special symbol display devices 22a and 22b in a variable manner. After a predetermined variation time has elapsed, the result is displayed on the special symbol display devices 22a and 22b, thereby ending the special symbol variation display game. Unless otherwise necessary, "special symbol 1" and "special symbol 2" will simply be referred to as "special symbols" (or abbreviated as "special symbols" in some cases).
[0085] In this embodiment, the jackpot lottery for Special Symbol 1, based on the entry of a game ball into the first starting opening 23, and the jackpot lottery for Special Symbol 2, based on the entry of a game ball into the second starting opening 24, are performed separately and independently. For this reason, the result of the jackpot lottery for Special Symbol 1 is displayed on the special symbol display device 22a, and the result of the jackpot lottery for Special Symbol 2 is displayed on the special symbol display device 22b. Specifically, in the special symbol display device 22a, the first special symbol variation display game is started by displaying Special Symbol 1 in a variable manner when a game ball enters the first starting opening 23, while in the special symbol display device 22b, the second special symbol variation display game is started by displaying Special Symbol 2 in a variable manner when a game ball enters the second starting opening 24. Then, when the special symbol variation display game on the special symbol display device 22a or special symbol display device 22b is started, after a predetermined variation time has elapsed, the special symbols that were being displayed in the variation will be stopped in a predetermined "jackpot" manner if the jackpot lottery result is "jackpot", or in a predetermined "miss" manner otherwise, and the game result (jackpot lottery result) will be notified in this manner.
[0086] For the sake of explanation, the first special symbol variation display game on the special symbol display device 22a will be referred to as "Special Symbol Variation Display Game 1," and the second special symbol variation display game on the special symbol display device 22b will be referred to as "Special Symbol Variation Display Game 2." Furthermore, "Special Symbol Variation Display Game 1" and "Special Symbol Variation Display Game 2" will simply be referred to as "Special Symbol Variation Display Game."
[0087] If the jackpot lottery result is "jackpot," that is, when the special symbol variation display game ends and the special symbols are stopped and displayed in the "jackpot" manner on the special symbol display device 22a or special symbol display device 22b, a special game state (jackpot game) that is more advantageous to the player than during the special symbol variation display game will occur thereafter. As will be explained in more detail later, in a jackpot game, after the pre-opening interval time (opening time) to notify that the jackpot game has started has elapsed, the first or second large prize slot 27 or 28 is opened and a predetermined time (maximum opening time: for example, 29.8) has elapsed, or the number of game balls that have entered the first or second large prize slot 27 or 28 has reached a predetermined number (maximum number of entries), at which point the first or second large prize slot 27 or 28 is closed. This "round game" is repeated for a predetermined number of rounds (for example, a maximum of 10 rounds). After the predetermined number of rounds has finished, the jackpot game ends after the post-opening interval time (ending time) to notify that the jackpot game has ended has elapsed. Note that the "s" after the numbers stands for "second".
[0088] (A game where decorative patterns change) Furthermore, when the special symbol variation display game described above is started, the decorative symbol variation display game is started by displaying decorative symbols (theatrical game symbols) in a variable manner on the liquid crystal display device 20, and various effects are unfolded in conjunction with this. When the special symbol variation display game ends, the decorative symbol variation display game also ends, and the special symbol display devices 22a and 22b display predetermined special symbols indicating the jackpot lottery result, and the liquid crystal display device 20 displays decorative symbols that reflect the jackpot lottery result. In other words, the theatrical decorative symbol variation display game, which includes the operation of displaying the variable decorative symbols, reflects and displays the result of the special symbol variation display game.
[0089] Therefore, for example, if the result of the special symbol variation display game is a "jackpot" (if the jackpot lottery result is a "jackpot"), the decorative symbol variation display game will feature a performance that reflects that result. When the special symbol stops in the special symbol display devices 22a and 22b in a display mode indicating a jackpot (for example, the 7-segment display showing "7"), the liquid crystal display device 20 will stop displaying the decorative symbols in the "left," "center," and "right" display areas in a display mode that reflects a "jackpot" (for example, in the "left," "center," and "right" display areas, the three decorative symbols will be in a display state of "7," "7," and "7").
[0090] Regarding the information necessary to execute the above-mentioned decorative pattern variation display game, the main control board 40 first performs a jackpot lottery to determine whether it is a "jackpot" or a "miss" based on the fact that a game ball has entered the first start port 23 or the second start port 24, specifically, when the game ball is detected by the first start port detection sensor 23a or the second start port detection sensor 24a and the start condition (start condition related to special patterns) is met, and a pattern lottery to determine the type of special pattern that will be displayed at the end (jackpot type, miss type), and then determines the variation pattern of the special patterns based on the results of the lottery. In the symbol lottery, if the result of the jackpot lottery is "jackpot," one of several jackpot types is determined by lottery; if it is "loser," one of several losing types is determined by lottery. However, there may be only one jackpot type and one losing type, in which case they may be determined without lottery. The main control board 40 then sends a "variation pattern specification command" to the performance control board 41, which includes at least information on the variation pattern of the special symbols (variation pattern information (for example, information on the jackpot lottery result and the variation time of the special symbols)) as a performance control command to identify the processing state. This sends the basic information required for the decorative symbol variation display game to the performance control board 41.
[0091] The variation pattern information of special symbols may include information specifying whether a specific notice performance (for example, the "ready-to-win performance" and "pseudo-continuous performance" described later) occurs or not. More specifically, the variation patterns of special symbols are roughly classified into "winning variation patterns" for winning cases and "losing variation patterns" for losing cases according to the jackpot lottery result. These variation patterns include, for example, a plurality of types of variation patterns such as 'ready-to-win variation pattern' that specifies the occurrence of ready-to-win performance, 'normal variation pattern' that does not specify the occurrence of ready-to-win performance, 'pseudo-continuous ready-to-win variation pattern' that specifies the occurrence (simultaneous occurrence) of pseudo-continuous performance and ready-to-win performance, and 'pseudo-continuous normal variation pattern' that specifies the occurrence of pseudo-continuous performance but does not specify the occurrence of ready-to-win performance. In addition, in order to secure the performance time of ready-to-win performance and pseudo-continuous performance, generally, the variation time of a variation pattern specifying ready-to-win performance or pseudo-continuous performance is set to be longer than that of a normal variation pattern.
[0092] The performance control board 41 determines, based on information included in performance control commands sent from the main control board 40 (here, a variation pattern specification command and a decorative symbol specification command), performance content (performance scenarios such as notice performance) to be developed chronologically during the decorative symbol variation display game, and a decorative symbol to be finally stopped and displayed (decorative stop symbol), and variably displays decorative symbols in accordance with a time schedule based on the variation pattern of the special symbol, thereby executing the decorative symbol variation display game. As a result, the decorative symbols displayed by the liquid crystal display device 20 are variably displayed in time synchronization with the variable display of the special symbols by the special symbol display devices 22a and 22b, and the period of the special symbol variable display game and the period of the decorative symbol variable display game have substantially the same time length. The performance control board 41 also controls the liquid crystal display device 20, the optical display device 16a, or the sound generating device 17a respectively to correspond to the performance scenario, and develops various performances in the decorative symbol variation display game. As a result, image reproduction (image performance), sound effect reproduction (sound performance), and lighting / blinking driving of the decorative lamps 16, LEDs, etc. (light performance) on the liquid crystal display device 20 are realized.
[0093] Thus, the special symbol variation display game and the decorative symbol variation display game are inseparably related, and the results of the special symbol variation display game are reflected in the representations in the decorative symbol variation display game. Therefore, these two symbol variation display games can be considered equivalent symbol games. In this specification, unless otherwise necessary, the above two symbol variation display games may be simply referred to as "symbol variation display games."
[0094] (Regarding the reservation of the general plan) In the gaming machine 1, when a game ball passes through the regular symbol gate 26, that is, when a detection signal is input from the regular symbol gate detection sensor 26a, a random number related to the regular symbol variation display game (a random number for determining a regular symbol win) is acquired, and this random number is stored as reserved data in the regular symbol reserved storage area of the RAM 40c up to a predetermined upper limit, which is the maximum number of reserved storages (for example, a maximum of 4). The general data hold memory area is provided with hold memory 1 to hold memory n (where n is the maximum number of hold memories: in this embodiment, n=4), and each can store hold data up to the maximum number of hold memories. There is no particular limit to the maximum number of hold memories in the general data hold memory area. The game balls associated with the reserved data stored in this general-purpose reserved memory area are also called "general-purpose reserved balls." To make the number of these general-purpose reserved balls clear to the player, the dot display corresponding to the number of general-purpose reserved balls on the composite display device 22c is lit up, or the reserved ball indicator provided as an icon image on the screen of the liquid crystal display device 20 is lit up.
[0095] (Normal symbol variation display game) In the gaming machine 1, a "normal symbol win lottery" is performed by random number generation on the main control board 40 based on the passage of a game ball through the normal symbol gate 26. Based on the result of this lottery, the normal symbols represented by LEDs are displayed in a variable manner on the composite display device 22d to start the normal symbol variable display game, and after a predetermined variable time has elapsed, the result is displayed as a combination of lit and unlit LEDs. For example, if the result of the normal symbol win lottery is "normal symbol win", 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 "○" and "×" is lit) according to the type of normal symbol win. In this embodiment, only one type of normal symbol win is provided.
[0096] When a "normal win" occurs, the normal electric mechanism solenoid 25a (see Figure 5) is activated, opening or expanding the second start port 24, making it easier for game balls to flow in (start port open state), resulting in a game state that is more advantageous to the player than when the second start port 24 is closed (hereinafter referred to as "normal electric open game"). In this normal electric open game, the entry area of the second start port 24 is opened or expanded by the normal electric mechanism 25 until a predetermined time (for example, 5.7s) has elapsed or the number of game balls that have entered the second start port 24 reaches a predetermined number (for example, 10 balls), and when either of these conditions is met, the second start port 24 is closed. This operation is repeated a predetermined number of times (for example, a maximum of 1 time).
[0097] [3.3 About the Big Win] Next, we will explain "jackpot" in gaming machine 1. In game machine 1, there are three types of jackpots: "4R1", "10R", and "4R2". If the result of the jackpot lottery is "jackpot", the type of jackpot is determined by a lottery in the symbol lottery. The "R" notation above indicates the number of rounds (maximum number of rounds).
[0098] The type of jackpot is the win that triggers the activation of the conditional device. Here, the "conditional device" refers to a device whose activation is a condition required for the continuous activation of the mechanism that allows for round play, and which is activated when a specific combination of special symbols is displayed or when a game ball passes through a specific area within the jackpot entry point.
[0099] If a jackpot is won, the game state at the time of the jackpot, the number of bonus rounds, and the number of time-saving rounds are determined according to the game state at the time of the jackpot and the type of jackpot determined. The number of probability-increasing rounds is set when the game state after a big win is in a high-probability state. In game machine 1, the high-probability state after a big win continues until the number of special symbol variation display games reaches the probability-increasing rounds (for example, 154 times). If the special symbol variation display games reach the probability-increasing rounds without winning a big win in the big win lottery, the game state is set (transitioned) to a low-probability state. The number of time-saving rounds is set when the game state after a big win is in a time-saving state. In game machine 1, the time-saving state after a big win continues until the number of special symbol variation display games reaches the time-saving round (for example, 150 times). If the special symbol variation display games for the time-saving round end without winning a big win in the big win lottery, the game state is set (transitioned) to a non-time-saving state. However, Gaming machine 1 may also be a "general probability variation machine" in which the number of probability variation rounds and time reduction rounds continue until a jackpot is won in the jackpot lottery (until the next round). The number of time-saving rounds may be the total number of times Special Symbol Variation Display Game 1 and Special Symbol Variation Display Game 2 are executed (total number of variations for Special Symbol 1 and Special Symbol 2), or it may be the number of times either one is executed (for example, the number of times Special Symbol Variation Display Game 2 is executed).
[0100] In this embodiment, similar to the types of big wins, there are also multiple types of "misses." Specifically, there are three types of misses: "miss 1," "miss 2," and "miss 3." As described above, if the result of the jackpot lottery is a "loser," a lottery for the type of losing result is held in the symbol lottery.
[0101] [3.4 Regarding the direction / staging] (Performance Mode) Next, the performance modes (performance states) will be explained. The gaming machine 1 of this embodiment is provided with multiple types of performance modes for displaying performances related to the game state, and is configured to allow switching between these performance modes. Specifically, there are performance modes that correspond to the set game state. In each performance mode, the background display for the display screen of the changing decorative symbols is displayed with different background performances, allowing the player to understand what game state they are currently in.
[0102] The performance control board 41 (CPU 41a) has a function unit (performance state transition control means) that controls transitions between multiple types of performance modes. Based on specific performance control commands sent from the main control board 40 (CPU 40a), specifically performance control commands that include game state information managed on the main control board 40, the performance control board 41 (CPU 41a) is configured to grasp the current game state in a manner consistent with the game state managed on the main control board 40, and to control transitions between multiple types of performance modes. Examples of such specific performance control commands include a variation pattern specification command, a decorative symbol specification command, and a game state specification command sent when a change occurs in the game state.
[0103] (Preview / Preview) Next, the pre-announcement effects will be explained. The effect control board 41 is configured to be able to control the appearance of various "pre-announcement effects" related to the current effect mode and the jackpot lottery result, based on the content of the effect control commands from the main control board 40, specifically, the variation pattern information included in at least the variation pattern specification command. Such pre-announcement effects suggest (predict) the expected probability of winning a jackpot type (hereinafter referred to as "winning probability") and act as "hype effects" to heighten the player's expectation of winning. Typical pre-announcement effects include "reach effects," "pseudo-consecutive effects," and "pre-read pre-announcement effects." The effect control board 41 functions as a pre-announcement effect control means that can control the execution (appearance) of these effects.
[0104] A "reach animation" refers to an animation pattern that involves a reach state (a variation display pattern that involves a reach state: a reach variation pattern), and specifically refers to an animation pattern that leads to and displays the final game result via a reach state. Reach animations include multiple types of reach animations associated with the probability of winning. For example, there are some that have a relatively higher probability of winning compared to when a normal reach animation appears. Such reach animations are called "super reach animations." Many of these "super reaches" have a relatively longer animation time (variation time) than normal reaches in order to heighten the expectation of winning. In addition, normal reaches and super reaches include multiple types of reach animations. A super reach includes multiple types of reach animations called Super Reach 1, 2, 3, and 4, and the probability of winning for these Super Reaches 1 to 4 is related as "Super Reach 1 < Super Reach 2 < Super Reach 3 < Super Reach 4".
[0105] The term "pseudo-continuous effect" refers to an effect mode involving a pseudo continuous variation display state (pseudo-continuous variation) of decorative symbols. The term "pseudo-continuous variation" refers to a variation display mode in which a display operation of temporarily bringing a part or all of the decorative symbols into a temporary stop state and then executing a re-variation display operation of the decorative symbols from the temporary stop state is repeated one or more times during a decorative symbol variation display game. In this respect, it is different from the "pre-reading notice effect (continuous notice effect)" described later which is developed across a plurality of symbol variation display games. For such "pseudo-continuous variation", basically, the occurrence rate (appearance rate) is set such that the higher the number of pseudo variations is, the higher the expectation of winning is, and for example, an effect for arousing expectation such as a super reach is easily selected according to the number of pseudo variations.
[0106] The "pre-reading notice effect" (hereinafter sometimes abbreviated as "pre-reading notice" or "pre-reading effect") refers to an effect that notifies the possibility of being controlled to an advantageous state based on the result of pre-reading determination before the variation display of the symbol to be determined is performed. Note that the "advantageous state" means a state that is advantageous to a player. Specifically, for a reservation ball (undigested reservation ball) that has not yet been used for executing the symbol variation display game (variation display operation of special symbols), the pre-reading effect is mainly performed in an effect mode capable of notifying the winning expectation in advance before the reservation ball is used for the symbol variation display game, by using a reservation display mode, a background effect of a symbol variation display game executed previously, or the like. Note that in the symbol variation display game, in addition to the above "reach effect", various effects such as a so-called "SU (step-up) notice effect", "timer notice effect", "resurrection effect" and "premier notice effect" are generated to enliven the game content.
[0107] Here, with reference to Figure 6, the "reservation change notice effect" as an example of the pre-reading notice effect described above will be described. In the gaming machine 1 according to the present embodiment, an upper display area in the screen of the liquid crystal display device 20 is provided with a display area for presenting a decorative symbol variable display game (a display area for presenting variable display effects and advance notice effects of decorative symbols), and a lower display area in the screen is provided with a reservation display area 60 (reservation display portions a1 to d1) for displaying the number of reserved balls on the special symbol 1 side and a reservation display area 61 (reservation display portions a2 to d2) for displaying the number of reserved balls on the special symbol 2 side. The presence or absence of a reserved ball is notified to that effect by a predetermined reservation display mode. FIG. 6 shows an example in which information about the current number of reserved balls is notified by a lit state (with a reserved ball: "○ (white circle)" shown in the figure) or an unlit state (without a reserved ball: dashed circle shown in the figure) indicating the presence or absence of a reserved ball.
[0108] The display regarding the presence or absence of reserved balls (reservation display) is sequentially displayed in the order of occurrence (the order of winning a prize), and in each of the reservation display areas 60 and 61, the leftmost reserved ball is displayed as the reserved ball that occurred earliest on the time axis (that is, the oldest reserved ball) among all the reserved balls in the reservation display. In addition, on the left side of the reservation display areas 60 and 61, a varying display area 62 for indicating the reserved ball currently being used in the special symbol variable display game is provided. In the case of the present embodiment, the varying display area 62 is configured such that an image in the form of an icon of the game-executing reserved K currently used in the game is placed on the icon of the seat J. That is, when the variable display of the special symbol 1 or the special symbol 2 is started, the icon (icon image) of the oldest reservation a1 or a2 displayed in the reservation display areas 60 and 61 is moved as the icon of the game-executing reserved K onto the icon of the seat J in the varying display area 62, and this state is maintained for a predetermined display time.
[0109] When a reserved ball occurs, a "reservation addition command" that specifies pre-read judgment information related to the jackpot lottery result and the number of reserved balls at the time of pre-read judgment (the number of existing reserved balls including the currently occurred reserved ball) is transmitted from the main control board 40 to the effect control board 41 (see FIG. 14). In this embodiment, the hold-add command consists of two bytes: the upper byte data that allows the number of hold-add balls at the time of the pre-read determination, and the lower byte data that allows the pre-read determination information to be identified.
[0110] As can be understood from the above explanation, in this embodiment, a jackpot lottery for the symbol variation display game related to a game ball is performed as a pre-read determination based on the fact that a game ball has entered the first start port 23 or the second start port 24 and a new reserved ball has been created. As will be described later, the main control board 40 stores information representing the result of the jackpot lottery performed as such a pre-read determination in the corresponding memory area of the RAM 40c. The information obtained during the pre-read determination of the jackpot lottery results is used to select (draw) a symbol variation pattern in the symbol variation display game, and can be rephrased as "variation pattern selection information." Therefore, it can be said that the main control board 40 performs a pre-read determination and stores the resulting "variation pattern selection information" in a predetermined area of the RAM 40c.
[0111] When the performance control board 41 receives the above-mentioned hold addition command transmitted by the main control board 40, it performs performance control processing related to the "pre-announcement performance" as part of the display control processing related to the hold display, based on the pre-announcement judgment information contained therein. Specifically, it performs a "pre-announcement lottery" to determine whether or not the pre-announcement performance can be executed, and if it wins, it displays the pre-announcement performance.
[0112] Here, the pre-read judgment information specifically refers to game information obtained by the main control board 40 by pre-reading the results of the jackpot lottery (jackpot lottery results at the start of the variation) and the variation pattern at the start of the variation, which are executed when the reserved balls are used in the symbol variation display game. In other words, this information includes at least the information obtained by pre-reading the results of the jackpot lottery at the start of the variation (pre-read win / fail information), and can also include information obtained by pre-reading the results of the symbol lottery (pre-read symbol information) and information obtained by pre-reading the variation pattern at the start of the variation (pre-read variation pattern information). The information to be included in the reserved ball addition command sent to the performance control board 41 can be appropriately determined according to the content to be announced in the pre-read notification. The hold-add command is assumed to include pre-read win / loss information, pre-read symbol information, and pre-read variation pattern information.
[0113] Furthermore, the "pre-read variation pattern" obtained through the pre-read judgment when a reserved ball is generated does not necessarily have to be the same as the "variation pattern at the start of variation" obtained when the reserved ball is actually used for variation display operation. For example, if we take the case where the variation pattern at the start of variation is a variation pattern that specifies "Super Reach 1," then in this case, the content specified by the pre-read variation pattern can be specified not as the type of reach effect "Super Reach 1" itself, but as the core "Super Reach type."
[0114] In this embodiment, if the pre-announcement lottery is won, a "hold display change type" pre-announcement effect (also referred to as "hold change announcement") is performed, in which the hold icon that is the target of the pre-announcement among the hold icons in the hold display units a1~d1 and a2~d2 may change from, for example, the white of the normal hold display (normal hold display mode) to the hold display with blue, green, red, danger pattern (or special colors or patterns such as rainbow) of the announcement display (special hold display mode). Figure 6 shows an example where the reserved ball in the hatched reserved display section b1 changes to a special reserved display. Here, the blue, green, red, and danger pattern of the reserved icons indicate increasing probability of winning, in that order. In particular, the danger pattern reserved icon is considered a premium reserved icon that indicates an extremely high probability of winning the jackpot.
[0115] (Direction means) Various effects in the gaming machine 1 are produced by effect means installed in the gaming machine 1. These effect means can be any stimulus transmission means that can produce an effect by appealing to human senses such as sight, hearing, and touch. Typical examples include light generating means such as decorative lamps 16 and LED devices (light display device 16a: light effect means), sound generating devices such as speakers 17 (sound generating device 17a: sound effect means), effect display devices such as liquid crystal display devices 20 (display means), pressure devices that transmit contact pressure to the operator's body, air pressure devices that apply air pressure to the player's body, and movable parts 50 that produce a visual effect through their operation. Here, effect display devices are display devices that appeal to the sense of sight, just like image display devices, but they differ from image display devices in that they also include devices that do not rely on images (for example, 7-segment displays). When referred to as image display devices, it mainly refers to types that produce effects by displaying images, and devices that produce effects using means other than images, such as 7-segment displays, are included in the above concept of effect display devices.
[0116] <4. Processing on the main control board> Next, the processing performed by the main control board 40 of this embodiment will be described. The processing of the main control board 40 mainly consists of a main processing (main control side main processing: Figure 7) and a timer interrupt processing (main control side timer interrupt processing: Figure 9) that is started by a regular interrupt from the CTC.
[0117] [4.1 Main Control Side Main Processing] Figure 7 is a flowchart showing the main processing on the primary control side. The main control side processing starts when a system reset occurs due to a system reset signal from the power supply board 200 during recovery from a power outage or power supply abnormality, or when the control program malfunctions, causing the watchdog timer (WDT) to activate and forcibly reset the CPU 40a (WDT reset). In either case, once the main control side processing starts, in step S101 the CPU 40a performs initial setup processing necessary for starting game operation, such as initializing the values of registers in each part, including the CPU 40a.
[0118] Once the initial setup process in step S101 is complete, in step S102, the CPU 40a determines whether the backup flag is ON or not (backup flag = 5AH is ON). In the gaming machine 1, when the power is cut off, the power check and backup process (step S201, see Figure 9) described later in the main control timer interrupt processing is used to back up the stored information in RAM 40c. If the backup process is performed correctly when the power is cut off, the backup flag is set to the ON state. Therefore, in step S102, the backup flag is checked to determine whether or not backup restoration is possible.
[0119] In step S102, if it is determined that the backup flag is not ON, the CPU 40a proceeds to step S103, performs the corresponding processing for when the backup flag is OFF, and then proceeds to step S108. In step S103, predetermined processing is performed for when the backup flag is OFF (for example, processing to store necessary information in RAM 40c).
[0120] On the other hand, if step S102 determines that the backup flag is ON, CPU 40a determines in step S104 whether the RAM clear condition (condition for transitioning to the RAM clear process) is met. Specifically, it determines whether the RAM clear switch 34 is in the ON state. If the CPU 40a determines that the RAM clearing condition is met, it executes the RAM clearing process in step S105 and proceeds to step S108. Step S105, the RAM clearing process, is a process that initializes the values in a predetermined area (used area) including the work area in RAM 40c.
[0121] If it is determined in step S104 that the RAM clear condition has not been met, the CPU 40a proceeds to step S106 and, as a command transmission process for backup restoration, transmits a predetermined performance control command corresponding to backup restoration to the performance control board 41.
[0122] In step S107, following step S106, the CPU 40a performs a backup restore process. The backup restore process restores the system to its state before the power was cut off, based on the contents of the RAM 40c that were backed up when the power was cut off. Specifically, the CPU 40a restores the stack pointer from before the power was cut off and performs the process to start the game operation from the processing state at the time of the power cut off. Furthermore, in the backup restoration process, in order to ensure that a power outage restoration display command (OB03H) for displaying information corresponding to the backup restoration is sent to the performance control board 41 in the main loop preprocessing of step S110 described later, the lower byte data of the power outage restoration display command is stored in a register.
[0123] In response to the execution of the backup restoration process in step S107, CPU 40a proceeds to step S108. As mentioned above, if the process in step 103 or step S105 has been performed, CPU 40a also proceeds to step S108.
[0124] In step S108, CPU 40a sets up the CTC to periodically generate timer interrupts at predetermined intervals, such as 4ms. Once the setting process in step S108 is completed, interrupt request signals are periodically output to the interrupt controller, and the main control side timer interrupt processing is executed.
[0125] In step S109, following step S108, the CPU 40a sends a performance control command to the performance control board 41 to instruct the start of the game, and then proceeds to step S110 to execute the main loop preprocessing. In the main loop pre-processing, commands are executed to initiate the initialization (return to origin) of the movable mechanism 50, to send commands indicating the number of balls held in Special Feature 1 and Special Feature 2, to set the internal function register, to set the timer for lighting the performance display monitor to 5s, and to turn on the firing permission signal to the payout control board 42. Then, in step S111, CPU 40a executes the main loop processing.
[0126] (Main loop processing) Figure 8 is a flowchart showing the main loop processing in step S111. In the main loop processing shown in Figure 8, CPU 40a is set to an interrupt-disabled state in step S121, and then executes a random number update process in the following step S122. This random number update process updates various random numbers used in the special symbol variation display game and the normal symbol variation display game (random numbers used to change the initial value (start value) of random numbers related to the jackpot lottery (random numbers for special symbol determination) which cycle through a predetermined numerical range by an increment process, and random numbers used to change the initial value (start value) of random numbers related to the normal symbol win lottery (random numbers for normal symbol win determination) (initial value random numbers for special symbol determination, initial value random numbers for normal symbol win determination), and random numbers used for the variation pattern used to select the variation pattern.
[0127] In this embodiment, the RAM 40c is provided with various random number counters used for drawing symbols related to the jackpot lottery, such as the drawing of initial values for the special symbol determination random number counter, the special symbol determination random number counter, the counter for drawing initial values for the normal symbol determination random number counter, the normal symbol determination random number counter, and the variable pattern random number counter. These counters serve as random number generation means for generating random numbers in software. In the random number update process of step S122, the above-mentioned two initial value generation counters that generate initial values for the special symbol determination random number counter and the normal symbol determination random number counter, the variable pattern random number counter, etc. are updated to generate the above-mentioned software random numbers. For example, if the range of values that can be taken as the variable pattern random number counter is "0 to 9999", a value is obtained from the count value storage area for generating the variable pattern random number value in the RAM 40c, "1" is added to the obtained value, and then it is stored in the original count value storage area. At this point, if adding "1" to the acquired value results in "10000", then "0" is stored in the original random number counter memory. Other random number counters used for generating initial values are updated in the same manner.
[0128] After completing the random number update process in step S122, CPU 40a performs the process of saving the values of all registers in step S123, and then performs the performance display monitor aggregate division process in step S124. This performance display monitor aggregation division process is a process that calculates the values of the performance information described above (here, for example, the values of "normal ratio information"). The value of the normal ratio information is calculated using the total number of balls dispensed and the total number of balls that go out. The CPU 40a calculates the total number of balls dispensed based on the count of the number of game balls that entered the prize winning slots (first starting slot 23, second starting slot 24, general prize winning slot 31, first large prize winning slot 27, second large prize winning slot 28), and the total number of balls that go out is obtained by counting the number of game balls that were ejected from the game area 19. The count of winning balls and the count of out balls are performed in the input management process described later in the main control side timer interrupt processing (see step S204 in Figure 9). Based on the count values obtained from the count of winning balls and the count of out balls performed on the timer interrupt processing side, the CPU 40a calculates a value as normal ratio information in step S124. As described above, the calculated value as normal ratio information is stored in a predetermined area (measurement information storage area) of the RAM 40c. The normal ratio information values calculated in this manner are displayed on the performance display unit 35 by the performance display monitor display process described later in the main control timer interrupt processing (see step S214 in Figure 9).
[0129] In step S125, CPU 40a performs a full register reset process, and then in the following step S126, it sets the system to an interrupt-enabled state before returning to step S121.
[0130] In this way, in the main loop processing of step S111, the processes of steps S121 to S126 are repeated in an infinite loop. Except when the CPU 40a is performing intermittently executed timer interrupt processing, it will repeatedly execute these processes of steps S121 to S126.
[0131] [4.2 Main Control Timer Interrupt Processing] Referring to the flowchart in Figure 9, the main control side timer interrupt processing will be explained. The main control timer interrupt processing is triggered by an interrupt from the CTC at regular intervals (approximately 4ms) and is executed by interrupting the main control processing during execution.
[0132] As shown in Figure 9, when a timer interrupt occurs, the CPU 40a executes the power check and backup process in step S201. In this power check and backup process, the CPU mainly monitors the power level supplied from the power supply board, and if an abnormality such as a power outage occurs, it performs backup processing such as storing predetermined game information in the RAM 40c so that gameplay can be resumed without problems when power is restored.
[0133] After completing the power check and backup process in step S201, the CPU 40a executes the input data creation process in step S202. Specifically, it creates input data based on input information (ON / OFF signals and rising edge 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 major prize gate detection sensor 27a, the second major 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. This allows monitoring of whether or not a game ball has been detected at the OUT gate or each prize gate with 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 the 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, in step S204, the CPU 40a performs input management processing. In this input management processing, based on the input data created in the input data creation processing (S202), it updates the values of the prize counter and the OUT ball monitoring counter. The "prize counter" is a counter provided for each prize slot that counts the number of game balls that have entered the slot (prize ball count). The OUT ball monitoring counter is a counter that counts the game balls that are ejected from the game area 19 (out balls).
[0136] In step S205, the CPU 40a performs error management processing. This error management processing monitors whether or not an error has occurred based on input data from various sensors and status signals from the dispensing control board 42. If an error occurs, the CPU 40a performs error handling by sending an error command to the performance control board 41 if the error type requires such a command. Upon receiving this error command, the performance control board 41 executes an error notification according to the error type. Furthermore, if the error is resolved, the CPU 40a sends an error clear command to the performance control board 41. Upon receiving this error clear command, the performance control board 41 terminates the ongoing error notification.
[0137] Next, in step S206, CPU 40a executes a timer interrupt-based random number management process that periodically updates the random numbers related to each variable display game. Here, in order to make the count value of the random number counter random, the random numbers for special symbol determination and regular symbol hit determination are updated (added by +1 with each interrupt), and the starting value of the random number counter is changed each time the random number counter completes a cycle. Note that the random numbers for jackpot determination are generated by the random number generation circuit, so they are not updated here.
[0138] In step S207, the CPU 40a executes the prize ball management process. In this prize ball management process, it checks the prize counter mentioned above, and if there are any prizes, it sends a payout control command specifying the number of prize balls 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 count information contained therein and performs a payout operation for the specified number of prize balls.
[0139] Next, in step S300, CPU 40a executes the normal symbol management process. This normal symbol management process performs the necessary operations to run the normal symbol variation 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 mechanism management process. This normal electric mechanism management process performs the necessary operations control for the normal electric mechanism required to execute the normal electric release game.
[0141] Next, in step S400, CPU 40a executes special symbol management processing. This special symbol management processing mainly involves drawing lots for jackpots in the special symbol variation display game, and based on the results of that drawing, it performs processing necessary to execute the special symbol variation display game, such as determining the variation patterns of the special symbols (pre-read variation patterns and variation patterns at the start of variation). Details of the special symbol management process in step S400 will be described later.
[0142] Next, in step S209, the CPU 40a executes special electric mechanism management processing. This special electric mechanism management processing performs processing related to the operation control of the special electric mechanism necessary to execute a jackpot game.
[0143] After completing the processing for game progression up to step S209, the CPU 40a performs external terminal management processing in step S210. In this external terminal management processing, the operating 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 operating status information includes game information such as jackpot game occurrence information, symbol variation display game execution start information, number of winnings / prize balls information, and error information.
[0144] Next, in step S211, the CPU 40a executes LED management processing. This LED management processing outputs control signals (dynamic lighting data) to LED displays such as the special pattern display devices 22a and 22b, and the composite display devices 22c and 22d. The control signals based on the display data created in the normal pattern management processing (step S300) and the special pattern management processing (step S400) are output to the corresponding display devices or indicators in this LED management processing, and display control is performed. This enables a series of variable display operations (variable display and stop display) of special patterns in the special pattern display devices 22a and 22b and normal patterns in the composite display device 22d.
[0145] In step S212, following step S211, the CPU 40a performs solenoid management processing. Here, it outputs control signals (control data) for predetermined solenoids provided by the gaming machine 1, such as the ordinary electric mechanism solenoid 25a that operates the ordinary electric mechanism 25, the first special electric mechanism solenoid 29a that operates the first special electric mechanism 29 that opens and closes the first large prize opening 27, and the second special electric mechanism solenoid 30a that operates the second special electric mechanism 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 the performance display monitor display processing in step S214. In other words, this process is performed to display the values described above as normal ratio information on the performance display unit 35. Furthermore, the value of the normal ratio information is recalculated each time the total number of outs reaches a predetermined value, and the performance indicator 35 is capable of displaying the current normal ratio information and the previous normal ratio information (the normal ratio information that was calculated to have finished at the most recent recalculation timing). For this reason, in the display process of step S214, the performance indicator 35 is made to display these two types of normal ratio information values. The current normal ratio information value is calculated in step S124 of the main loop processing (Figure 8) described above, while the previous normal ratio information value is stored in a predetermined area of RAM 40c, and CPU 40a reads the stored value and displays it on the performance indicator 35.
[0147] In step S215, following step S214, the CPU 40a restores the values of all registers, and in step S216, it clears the WDT count value and terminates the main control timer interrupt processing.
[0148] Once the timer interrupt processing described above is complete, CPU40a executes the main loop processing (S111) until the next timer interrupt occurs.
[0149] (Normal pattern management processing) Figure 10 is a flowchart showing the normal pattern management process. As shown in Figure 10, in step S301, the CPU 40a determines whether or not it has detected the passage of a game ball through the normal pattern gate 26 based on the detection signal from the normal pattern gate detection sensor 26a.
[0150] If it is determined that a game ball has passed through the regular symbol gate 26, in step S302 the CPU 40a determines whether the number of regular symbol reserved balls is 4 or more. That is, it determines whether the number of regular symbol reserved balls is equal to or greater than the maximum number of reserved balls (in this case, the upper limit is 4). However, if it is determined that no game ball has passed through the regular symbol gate 26 (step S301:N), or if it is determined that the number of regular symbol reserved balls is 4, then steps S302 to S304 are skipped and the process proceeds to step S305.
[0151] On the other hand, if it is determined that the number of reserved balls is not 4 or more (i.e., less than 4), the CPU 40a adds 1 to the number of reserved balls in step S303, and in step S304 stores the random number used for determining a winning combination for the reserved balls that have just been generated into the reserved ball storage area of the RAM 40c.
[0152] In step S305, CPU 40a determines the state of the "normal symbol win flag". This "normal symbol win flag" is a flag that specifies whether or not a normal power-open game is in progress. If the flag is ON (for example, 5AH), it indicates that a normal power-open game is in progress, and if the flag is OFF (for example, 00H), it indicates that a normal power-open game is not in progress.
[0153] If the regular symbol hit flag is in the OFF state (≠5AH), that is, if the regular power release game is not in progress, in step S306 the CPU 40a executes a regular symbol operation status determination process that branches the processing related to the variation display operation of the regular symbols according to the regular symbol operation status (00H~02H).
[0154] In the normal symbol operation status determination process in step S306, the corresponding process is executed depending on whether the normal symbol operation status is "at the start of variation (00H)", "during variation (01H)", or "during confirmation time (02H)". The "normal symbol operation status" is a value that indicates the behavior of the normal symbols, and this value is changed according to the processing state and stored in the normal symbol operation status storage area of RAM40c.
[0155] Specifically, if the normal symbol operation status is "Start of variation (00H)", CPU 40a determines in step S307 whether the number of normal symbol reserved balls is zero. If it determines that the number of normal symbol reserved balls is zero, it skips the processing in steps S308 to S313 and proceeds to step S320.
[0156] On the other hand, if it is determined that the number of reserved balls is not zero, in step S308 the CPU 40a subtracts 1 from the number of reserved balls, and refers to the reserved ball win determination table shown in Figure 11 to perform a reserved ball win lottery based on the random number for reserved ball win determination that was stored first among the reserved balls stored in the reserved ball storage area.
[0157] Figure 11 is a diagram illustrating an example of a regular win / loss determination table. Here, a predetermined area of ROM40b stores a normal win determination table as shown in Figure 11. The normal win determination table shows the determination criteria value TH for low probability state and high probability state. In the lottery for winning the regular number in this embodiment, a judgment criterion value TH is determined within the range of possible values (0 to 250) of the random number used for determining whether to win the regular number. Based on the comparison of the magnitude of the random number used for determining whether to win the regular number and the judgment criterion value TH, a determination of whether to win or lose the regular number is made. As an example, a method is employed in which a determination result of winning the regular number is obtained when the value of the random number used for determining whether to win the regular number is within the range of "0 to the judgment criterion value TH", and a determination result of losing is obtained otherwise. In the example shown in Figure 11, the judgment criterion value TH is set to 250 in both the low probability state and the high probability state. Therefore, in this embodiment, regardless of whether it is the low probability state or the high probability state, a regular win is guaranteed in the regular win lottery.
[0158] Figure 12 is a diagram illustrating an example of the type of win, variation time, and confirmation time for a regular symbol variation display game. In step S310, as shown in Figure 12, the CPU 40a determines the type of win based on the result of the regular win lottery and the set game state, and performs a stop symbol creation process to create a stop symbol corresponding to the determined type of win. Here, as described above, regardless of whether it is a low probability state or a high probability state, a regular win is always won in the regular win lottery, and when a regular win is won, as shown in Figure 12, "Win 1" is determined as the type of win, and a stop symbol corresponding to "Win 1" is created.
[0159] In step S311, the CPU 40a stores the variation time (see Figure 12) based on the game state in the regular symbol timer. Here, 132ms is stored in the low probability state, and 128ms is stored in the high probability state.
[0160] In step S312, the CPU 40a shifts the reserved data stored in the general data reserved memory area of the RAM 40c. Here, the reserved data stored in the general data reserved n memory area (n=2, 3, 4) is stored in the general data reserved memory area corresponding to 'n-1'.
[0161] In step S313, CPU 40a performs various settings for when the variation starts and proceeds to step S320. Here, for example, the normal symbol operation status is set to "Variing (01H)", the four reserved memory areas are cleared to create free space, and the normal symbol variation flag is turned ON.
[0162] If the normal symbol operation status is "in progress (01H)", the CPU 40a determines in step S314 whether the normal symbol mechanism timer is zero or not. If it determines that the normal symbol mechanism timer is not zero, it skips step S315 and proceeds to step S320.
[0163] On the other hand, if the regular symbol timer is determined to be zero, in step S315 the CPU 40a performs various settings for when the reel stops and proceeds to step S320. Here, for example, the regular symbol operation status is set to "Confirmation Time (02H)", a confirmation time (500ms) based on the game state as shown in Figure 12 is stored in the regular symbol timer, and the regular symbol reel reel reel flag is turned OFF.
[0164] If the normal symbol operation status is "Checking time (02H)", the CPU 40a determines in step S316 whether the normal symbol mechanism timer is zero or not. If it determines that the normal symbol mechanism timer is not zero, it skips steps S317 to S319 and proceeds to step S320.
[0165] On the other hand, if the CPU 40a determines that the regular symbol timer is zero, in step S317 the regular symbol operation status is set to "Start of variation (00H)". In step S318 the CPU 40a determines whether or not a regular symbol win was achieved in the regular symbol win lottery in step S309, and if it determines that a regular symbol win was not achieved, it skips step S319 and proceeds to step S320.
[0166] On the other hand, if it is determined that a regular win has occurred, in step S319 the CPU 40a performs various settings for when a regular win occurs and proceeds to step S320. Here, the regular win flag is set to the ON state (5AH).
[0167] In step S320, the CPU 40a updates the normal symbol display data and terminates the normal symbol management process. This normal symbol display data update process determines whether the normal symbol is changing or not. If it is changing, it creates data for the 7-segment display of the changing normal symbol. If the normal symbol is not changing, it creates data for the 7-segment display of the stopped normal symbol. The normal symbol display data created here is output to the composite display device 22d by the LED management process (step S211) shown in Figure 9.
[0168] (Special design management processing) Figure 13 is a flowchart showing the special pattern management process (step S400). As shown in Figure 13, in step S401, the CPU 40a performs a special pattern 1 start port check process for special pattern 1 (first start port 23), and in the following step S402, it performs a special pattern 2 start port check process for special pattern 2 (second start port 24). Details of these starter port check procedures will be described later.
[0169] After completing the start gate check process in steps S401 and S402, in step S403 the CPU 40a determines the state of the condition device activation flag. This "condition device activation flag" is a flag that specifies whether or not a jackpot game is in progress. When the flag is ON (for example, 5AH), it indicates that a jackpot game is in progress, and when the flag is OFF (for example, 00H), it indicates that a jackpot game is not in progress. The condition device activation flag is set to ON during the special symbol confirmation process (step S407) when a jackpot is won in the jackpot lottery, and is set to OFF during the jackpot termination process (step S650) described later.
[0170] If the condition device activation flag is determined to be in the OFF state (≠5AH), that is, if it is determined that a jackpot game is not in progress, in step S404 the CPU 40a executes a special symbol operation status branching process that branches the processing related to the variation display operation of the special symbols according to the special symbol operation status (00H~03H).
[0171] In step S404, the special symbol operation status branching process executes the corresponding process depending on whether the special symbol operation status is "waiting (00H, 01H)", "in progress (02H)", or "checking (03H)". The "special symbol operation status" is a value that indicates the behavior of the special symbol, and this value is changed according to the processing state and stored in the special symbol operation status storage area of RAM40c.
[0172] Specifically, CPU 40a executes the special symbol variation start process (step S405) if the special symbol operation status is "waiting (00H, 01H)", the special symbol variation in progress process (step S406) if it is "varying (02H)", and the special symbol confirmation time process (step S407) if it is "confirming (03H)". Here, "waiting" means that the special symbol is in a waiting state for the next variation, "varying" means that the special symbol is in the process of variation (variation display), and "confirming" means that the variation of the special symbol has finished and is in the process of stopping (confirmation) display (special symbol confirmation time).
[0173] The processing in steps S405, S406, and S407 described above will result in a variable display operation that sets the start and stop of the variable movement of the special symbol as one set. Details of the process in step S405 will be described later.
[0174] After completing any of the processes in steps S405 to S407, in step S408 the CPU 40a executes a special symbol display data update process and terminates the special symbol management process. In this special symbol display data update process, it is determined whether or not the special symbol is changing. If it is changing, data for the 7-segment display of the changing special symbol is created. If the special symbol is not changing, data for the 7-segment display of the stopped special symbol is created. 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) in Figure 9.
[0175] Furthermore, if it is determined in step S403 that a jackpot is in progress (=5AH), the CPU 40a does not perform the processing related to the display of the special symbols in steps S405 to S407, but instead proceeds directly to the special symbol display data update process in step S408. In other words, if a jackpot is in progress, the display of the special symbols is not performed (the display state of the special symbols on the special symbol display device remains the same as when the jackpot was confirmed).
[0176] (Special Figure 1: Start port check process) Figure 14 is a flowchart showing the start port check process (step S401) as shown in Figure 1. This Special Symbol 1 Start Port Check process serves as a prize-winning process that is executed based on the fulfillment of predetermined starting conditions. In the Special Symbol 1 Start Port Check process, as a pre-start process (prize-winning process for Special Symbol 1) for executing the Special Symbol 1 Variation Display Game 1, the following are executed: an addition of the number of reserved balls for Special Symbol 1 due to the prize-winning of the first start port 23, storage of various random numbers (reserved ball storage process), and transmission of a reserved ball addition command. Furthermore, the Special Symbol 2 Start Port Check Process (Step S402), like the Special Symbol 1 Start Port Check Process, serves as a winning process executed based on the fulfillment of predetermined starting conditions. As a pre-start process (winning process for Special Symbol 2) for executing the Special Symbol 2 Special Symbol Variation Display Game 2, it performs processes such as adding the number of reserved balls for Special Symbol 2 due to the winning of the second start port 24, storing various random numbers, and sending the reserved ball addition command. Therefore, the Special Symbol 1 Start Port Check Process and the Special Symbol 2 Start Port Check Process are essentially the same. Below, we will focus on explaining 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 Figure 14, in step S401-1, the CPU 40a determines whether or not it has detected a game ball entering the first start port 23 based on the detection signal from the first start port detection sensor 23a. If it determines that a game ball has entered the first start port 23, in step S401-2, the CPU 40a determines whether or not the number of reserved balls for special symbol 1 (hereinafter referred to as "special symbol 1 reserved balls") is 4 or more. That is, it determines whether or not the number of special symbol 1 reserved balls is equal to or greater than the maximum number of reserved balls (in this case, an upper limit of 4). However, if it determines that there has been no detection of a game ball entering the first start port 23, the special symbol 1 start port check process is terminated.
[0178] If step S401-2 determines that the number of reserved balls in Special Feature 1 is 4 or more, that is, if the entry into the first starting port 23 is detected but the number of reserved balls in Special Feature 1 is determined to be 4 or more, the CPU 40a proceeds to step S401-11 described below. On the other hand, if it determines that the number of reserved balls in Special Feature 1 is not 4 or more (i.e., less than 4), then in step S401-3, 1 is added to the number of reserved balls in Special Feature 1.
[0179] In step S401-4, CPU 40a obtains various random numbers to be used in the special symbol variation display game 1 related to the special symbol 1 reserved ball that occurred this time. Specifically, it obtains random numbers for jackpot determination, special symbol determination, and variation pattern from various random number counters, and stores the obtained random numbers in the special symbol reserved ball memory area of RAM 40c.
[0180] In step S401-5, CPU40a obtains pre-reading prohibition data (EVENT: "01H") to prohibit pre-reading judgment, which is used as winning command data (data corresponding to the lower byte side (EVENT) of the hold-add command) for creating a hold-add command. Next, in step S401-6, CPU 40a determines whether the "Special Feature 1 Pre-read Prohibition Condition" is met. The Special Feature 1 Pre-read Prohibition Condition is a condition that prohibits pre-reading judgments targeting the Special Feature 1 reserved balls.
[0181] If the condition for prohibiting pre-reading in Special Feature 1 is met, the CPU 40a proceeds to step S401-11 without executing the pre-reading judgment process (step S401-9) related to the pre-reading judgment. In this case, the hold addition command with pre-reading prohibition data (EVENT: "01H") specifies pre-reading prohibition, prohibiting the pre-reading judgment for the current Special Feature 1 hold balls, and as a result, the pre-reading notification effect is not executed. In other words, the pre-reading prohibition data indicates that the pre-reading judgment process (step S401-9) has not been executed.
[0182] Here, instead of making a pre-reading judgment for Special Feature 1 and Special Feature 2 regardless of the game state, the system determines whether or not pre-reading is prohibited based on the current game state. The reason for this is as follows: When the game is in a time-saving state where right-handed play is advantageous, entries into the second starting gate 24 occur frequently. However, when the game is not in a time-saving state where left-handed play is advantageous, entries into the second starting gate 24 rarely occur, and entries into the first starting gate 23 occur frequently. Considering this, instead of blindly performing pre-read judgments for special symbols 1 and 2 regardless of the game state, when the game is in a time-saving state, pre-read judgments for special symbol 1 are prohibited and pre-read judgments for special symbol 2 are permitted, and when the game is not in a time-saving state, pre-read judgments for special symbol 2 are prohibited and pre-read judgments for special symbol 1 are permitted.
[0183] If it is determined in step S401-6 that the pre-reading prohibition condition is not met, then in step S401-7 the CPU 40a executes a pre-reading determination process. This pre-reading determination process pre-determines the result of the jackpot lottery that is executed at the start of the variation. Therefore, it includes a series of processes related to 'pre-reading win / loss determination' which pre-determines the result of the jackpot lottery, 'pre-reading symbol determination' which pre-determines the result of the symbol lottery, and 'pre-reading variation pattern determination' which pre-determines the variation pattern at the start of the variation.
[0184] Specifically, in step S401-7, the CPU 40a obtains a random value for jackpot determination stored in the RAM 40c (special symbol hold memory area), and based on the random value for jackpot determination and the jackpot determination table (see Figure 17), performs a jackpot lottery for the current hold ball (a pre-read win / loss determination that determines whether it is a jackpot or a loss), and obtains the result (referred to as the "pre-read win / loss result").
[0185] In this embodiment, the look-ahead success / failure result is stored in a predetermined general-purpose register built into the CPU 40a and not in the RAM 40c. This is because the look-ahead success / failure determination result is immediately used in the subsequent look-ahead symbol determination process, and this data is not needed thereafter, so there is no need to store it in the RAM 40c.
[0186] Furthermore, in step S401-7, CPU 40a performs a symbol lottery using a symbol table (see Figure 20) corresponding to the pre-read symbol determination process described above, specifically the pre-read hit / miss result (at least whether it's a big win or a miss) and the type of reserved ball (whether it's Special Symbol 1 or 2). Specifically, CPU 40a performs a symbol lottery for the current reserved ball based on the special symbol determination random number and symbol table obtained in step S401-4, and obtains the result (referred to as the "pre-read symbol result").
[0187] The CPU 40a does not store the pre-read symbol result in RAM 40c, but instead stores it in a predetermined general-purpose register built into the CPU 40a, just as it does in the pre-read win / loss determination described above. This is because the pre-read symbol result is immediately used in the subsequent pre-read variation pattern determination, and this data is not needed thereafter, so there is no need to store it in RAM 40c.
[0188] After completing the above pre-read symbol determination, CPU 40a performs pre-read variation pattern determination. In this pre-read variation pattern determination, a variation pattern is drawn using the above pre-read symbol result (one of "4R1", "10R", "4R2", "Miss 1", "Miss 2", or "Miss 3"), a variation pattern table for selecting a variation pattern corresponding to the pre-read symbol result, and a random number for the variation pattern obtained in step S401-4, and the pre-read variation pattern is determined. In other words, the variation pattern to be executed when the current held ball is used for the variation display operation (the variation pattern at the start of variation) is determined by pre-read determination.
[0189] The above variation pattern table is also used in the lottery for variation patterns performed during the special symbol variation start process (Figure 13). A concrete example of the above variation pattern table, and the process of drawing variation patterns using this table, will be explained again when describing the process at the start of variation.
[0190] Furthermore, the result of the pre-read fluctuation pattern determination (winning command data (EVENT)) is immediately used in the hold-add command creation process in step S401-8, which will be explained below, and this data is not needed thereafter. Therefore, the CPU 40a finishes the process in step S401-7 without storing the result of the pre-read fluctuation pattern determination in the RAM 40c, but with the result still stored in the register.
[0191] In step S401-8, CPU40a creates the lower byte data for the hold-add command according to the look-ahead judgment result. Specifically, it creates data representing the type of look-ahead variation pattern as the winning command data (EVENT) in the lower byte of the hold-add command. Furthermore, regarding the EVENT data, the value "01H" set in step S401-5 will be updated in this process to a value corresponding to the look-ahead variation pattern (a value obtained in the look-ahead variation pattern determination process).
[0192] In step S401-9, CPU 40a creates the upper byte data for the hold-add command according to the number of hold-add commands. That is, it creates data representing the current number of hold-add commands and the pre-read symbol result (type of special symbol) mentioned above as the winning command data (MODE) for the upper byte of the hold-add command. The data for this MODE is set to allow identification of the reserved slots for Special Feature 1 (1st to 4th slots) and Special Feature 2 (1st to 4th slots).
[0193] In step S401-10, the CPU 40a performs the process of sending a hold-add command. That is, it creates a hold-add command that includes the winning command data created in steps S401-8 and S401-9 as EVENT and MODE, respectively, and sends it to the performance control board 41.
[0194] If the look-ahead prohibition condition is met (Yes in S401-6), CPU40a maintains the look-ahead prohibition data (lower byte = 01H) as described above without updating it, and sends a pending increment command with the look-ahead prohibition data. Furthermore, in the event of an overflow (when the maximum number of reserved balls has been reached and a new winning combination occurs), an overflow-specified reserved ball addition command is sent (the Yes route in step S401-2).
[0195] Furthermore, after the hold-add command is sent from the main control board 40 to the performance control board 41, it is only used on the performance control board 41 when displaying the "pre-announcement performance" related to the current hold-add balls, and is not used in the special symbol variation start process shown in Figure 12. Therefore, the CPU 40a does not store the hold-add command in the RAM 40c, and proceeds to the special symbol 1 start gate check process in step S401, and then proceeds to the special symbol 2 start gate check process in step S402.
[0196] (Special symbol variation start process) Figure 15 is a flowchart showing the special symbol variation start process (step S405), which is the process that takes place when the variation begins. As shown in Figure 15, in step S405-1, the CPU 40a determines whether the number of reserved balls in Special Figure 2 (number of reserved balls in Special Figure 2) is zero or not. If the number of reserved balls in Special Figure 2 is not zero, the CPU proceeds to step S405-6 and performs the processing at the start of the variation (steps S405-6 to S405-14) for the reserved balls in Special Figure 2 to be used for the variation display.
[0197] On the other hand, if it is determined that the number of reserved balls in Special Feature 2 is zero, in step S405-2 the CPU 40a determines whether the number of reserved balls in Special Feature 1 (Special Feature 1 reserved ball count) is zero or not. If it is determined that the number of reserved balls in Special Feature 1 is not zero, the CPU 40a proceeds to step S405-6 and performs the processing related to the start of the variation of the special symbols targeting the Special Feature 1 reserved balls to be used for the variation display (steps S405-6 to S405-14). The processing in steps S405-1 and S405-2 above determines the "priority variation order," which determines which of the reserved balls in Special Symbol 1 and Special Symbol 2 will be used preferentially for the variation display operation (which reserved balls will be consumed first). In this embodiment, if there are reserved balls in both Special Symbol 1 and Special Symbol 2, the reserved balls in Special Symbol 2 will be consumed preferentially. In other words, Special Symbol Variation Display Game 2 will be executed preferentially over Special Symbol Variation Display Game 1. Note that the priority variation type is not limited to the above, and a configuration in which the reserved balls are consumed in the order in which they were won is also possible.
[0198] If the number of reserved balls for both Special Symbol 2 and Special Symbol 1 is zero, the state becomes "no reserved balls". This "no reserved balls" state occurs when the special symbols are in standby mode and there is no reserved ball memory. The performance control board 41 is notified that this state has been entered, and the liquid crystal display device 20 is controlled to switch to displaying a demo screen for customer waiting (customer waiting demo screen). If the state becomes "no reserved balls", the process proceeds to step S405-3, where the CPU 40a determines whether the special symbol operation status is "standby (00H)", which indicates the "no reserved balls" state.
[0199] If, in step S405-3, it is determined that the special symbol operation status is not "standby (00H)", that is, if it is determined that the special symbol operation status is "standby (01H)", then in step S405-4, the CPU 40a switches the special symbol operation status to "standby (00H)" (stores 00H in the special symbol operation status). Then, in step S405-5, the CPU 40a sends a "demo display command" to the performance control board 41 as a performance control command to display the customer waiting demo screen, and ends the special symbol variation start process. Thereafter, if the judgment process in step S405-3 is executed and the result is "Waiting (00H)", the CPU 40a terminates the special symbol variation start process without sending the demo display command again.
[0200] If step S405-1 determines that the number of reserved balls for Special Symbol 2 is not zero, and if step S405-2 determines that the number of reserved balls for Special Symbol 1 is not zero (i.e., the number of reserved balls for Special Symbol 2 is zero, while the number of reserved balls for Special Symbol 1 is not zero), CPU 40a performs the processing (steps S405-6 to S405-14) related to the start of the variation of the special symbols for the reserved balls to be used for the current variation display. Here, regarding the processing in steps S405-6 to S405-14 described below, if the result of the judgment in step S405-1 is 'No', the processing will target the reserved balls of Special Feature 2, and if the result of the judgment in step S405-2 is 'No', the processing will target the reserved balls of Special Feature 1. However, since the processing method is the same, to avoid redundant descriptions, unless it is particularly necessary, we will not distinguish whether the processing targets the reserved balls of Special Feature 1 or Special Feature 2.
[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 used for the current variable display operation - 1), and in the following step S405-7, it sends a "reserved ball subtraction command" containing the information of the reduced number of reserved balls to the performance control board 41. With this reserved ball subtraction command, the performance control board 41 grasps the remaining number of reserved balls after the current number of reserved balls have been used and shifts the currently displayed reserved ball display.
[0202] In step S405-8, the CPU 40a sets special symbol operation confirmation data. This special symbol operation confirmation data specifies the special symbol that will initiate the variation. For example, if special symbol 1 is the one that initiates the variation, "00H (special symbol 1 variation start specification)" is stored in a predetermined area of the RAM 40c (special symbol operation confirmation data storage area). If special symbol 2 is the one that initiates the variation, "01H (special symbol 2 variation start specification)" is stored in a predetermined area of the RAM 40c (special symbol operation confirmation data storage area).
[0203] In step S405-9, the CPU 40a shifts the pending data stored in the special figure pending storage area of the RAM 40c, and clears the pending 4 storage area in the subsequent step S405-10. In the processing of steps S405-9 to S405-10, the pending data (random number for jackpot determination, random number for special symbol determination, and random number for variation pattern) stored in the pending storage area (pending 1 storage area) corresponding to the number of pending storages n=1 is read out and stored in the random number storage area for determination of the RAM 40c. Meanwhile, the pending data stored in the pending storage areas (pending 2 storage area, pending 3 storage area, pending 4 storage area) corresponding to the pending n storage areas (n=2, 3, 4) is stored in the pending storage area corresponding to 'n-1' respectively (step S405-9), and the pending 4 storage area is cleared to provide a free area (step S405-10).
[0204] In step S405-11, the CPU 40a performs processing for transmitting a remaining variation count specification command and a game state command. Here, the CPU 40a determines whether or not the "time-saving count counter" that counts the number of time-saving times in the time-saving state is zero. If the number of time-saving times is not zero, the CPU 40a transmits a "remaining variation count specification command" including the number of time-saving times to the effect control board 41. This "remaining variation count specification command" enables the effect control board 41 to execute processing for grasping and notifying the number of time-saving times. The CPU 40a also performs processing for transmitting a game state command that specifies the current game state to the effect control board 41.
[0205] In step S411, the CPU 40a executes jackpot random number determination processing for performing a jackpot lottery. The details of the jackpot random number determination processing will be described later.
[0206] In step S412, the CPU 40a executes symbol lottery processing for performing a symbol lottery. The details of the symbol lottery processing will be described later.
[0207] In step S413, the CPU 40a executes variation pattern lottery processing for performing a variation pattern lottery. It should be noted that the details of the variation pattern lottery process in the present embodiment will be described later.
[0208] Here, as described above, the lottery results of the jackpot lottery and symbol lottery at the start of variation are stored in the RAM 40c. The reason for this is that these lottery results are not only used in the special symbol management process (step S400), but are also data that will be used in subsequent special electric accessory management processing (step S209) and the like. In this respect, this is different from the processing at the time of pre-reading determination in which the lottery result is not stored in the RAM 40c.
[0209] Although illustration and description are omitted, when the jackpot lottery result indicates a jackpot, following step S413, the CPU 40a performs necessary setting processing for specifying the gaming state after the jackpot game as setting processing for shifting the gaming state (gaming state shift preparation processing).
[0210] In step S405-12, the CPU 40a stores 5AH (ON state) in a special symbol N varying flag (N=1, 2) that specifies that variation display is in progress. The "special symbol N varying flag" is a flag indicating whether any of the target special symbols among special symbols 1 and 2 is varying. When the flag is in the ON state (=5AH), it indicates that the target special symbol is varying, and when the flag is in the OFF state (=00H), it indicates that the target special symbol is stopped. It should be noted that the special symbol 1 varying flag (N=1) corresponds to special symbol 1, and the special symbol 2 varying flag (N=2) corresponds to special symbol 2.
[0211] In step S405-13, the CPU 40a executes command transmission processing at the start of variation. In this command transmission process, in order to notify the effect control board 41 of the variation pattern selected in the variation pattern lottery in step S413, a "variation pattern designation command" including variation pattern information capable of specifying the variation pattern is created as an effect control command and transmitted to the effect control board 41. Also, in the command transmission process, a decorative symbol designation command is created based on the symbol lottery result in step S412, and transmitted to the effect control board 41. The decorative symbol designation command is composed of 2 bytes: an upper byte (MODE) that designates the reservation type, and a lower byte (EVENT) that designates the type of special symbol. Therefore, this decorative symbol designation command contains information related to the reservation type and the type of special symbol (symbol lottery result). Since this decorative symbol designation command contains information related to the type of special symbol, it is mainly used in the effect control board 41 when determining the combination of decorative symbols when forming a ready state (symbol types having ready symbols as constituent elements), the combination of decorative symbols to be finally stopped and displayed (decorative stop symbols), and the notice effect corresponding to the winning type in a symbol variable display game, etc.
[0212] In step S405-14, the CPU 40a executes the variation start setting process and ends the special symbol variation start process. Here, processing is performed to switch the special symbol operation status to "varying (02H)" (store 02H in the special symbol operation status) and clear the random number storage area for determination.
[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 jackpot determination table corresponding to the reservation type (special symbol 1, special symbol 2). Here, a jackpot determination table as shown in FIG. 16 is stored in a predetermined area (address) of the ROM 40b. The jackpot determination table is provided for each reservation type (special symbol 1, special symbol 2), but in the present embodiment, the same value is set regardless of the reservation type. The jackpot determination table shows determination reference values TH for a low probability state and a high probability state. In this embodiment, the jackpot random number determination involves setting a judgment criterion value TH within the range of possible values for the jackpot determination random number, and then determining whether a jackpot has been won (jackpot lottery) based on the comparison of the magnitude of the jackpot determination random number and the judgment criterion value TH. As an example, a method is employed in which a jackpot is determined if the value of the jackpot determination random number is within the range of "0 to judgment criterion value TH", and a miss is determined otherwise.
[0215] Furthermore, two types of judgment criteria values TH are set: TH1 (205), which is used to determine a low probability state, and TH2 (658), which is used to determine a high probability state. As shown in Figures 17 and 18, the criterion value TH2 for determining a high-probability state is set to be higher than the criterion value TH1 for determining a low-probability state. This increases the probability of winning a jackpot when determining a high-probability state.
[0216] In the example above, the lower limit for determining a jackpot in the jackpot random number determination was set to "0," meaning that a jackpot result is obtained if the random number used for jackpot determination falls within the range of "0" to "determination criterion value TH." However, the lower limit for determination can also be set to a number greater than "0."
[0217] In step S411-2, the CPU 40a determines whether the random number used for determining a jackpot is less than the lower limit of the determination. The lower limit of the determination is the lower limit of the jackpot determination (the lower limit of the numerical range from which a jackpot determination result can be obtained), as described above, and is, for example, "0". If the random number used for determining a jackpot is below the lower limit of the determination, it is determined that it is a miss, so the processes in steps S411-3 to S411-7 described below are skipped and the jackpot random number determination process ends. Note that if the lower limit of judgment is 0, it is usually impossible for the random number used for determining a jackpot to take a value less than 0, so the process in step S411-2 is not essential. The process in step S411-2 is effective when the lower limit of judgment is set to a value greater than 0.
[0218] If the random number used for determining a jackpot in step S411-2 is not less than the lower limit of the determination, then in step S411-3, the CPU 40a determines whether or not the current game state is a high probability state.
[0219] If it is determined that the state is not high probability, in step S411-4 the CPU 40a obtains the low probability state determination criterion value TH1 in the jackpot determination table. On the other hand, if it is determined that the game is in a high-probability state, in step S411-5 the CPU 40a obtains the TH2 judgment criterion value for high-probability states in the jackpot judgment table.
[0220] In step S411-6, the CPU 40a determines whether the random number used for determining a jackpot is less than the determination criterion value TH, based on the determination criterion value TH1 or the determination criterion value TH2. If the random number used for determining a jackpot is determined to be less than the judgment criterion 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 the random number used for determining a jackpot is determined to be not less than the judgment criterion value TH, step S411-6 is skipped and the jackpot random number determination process terminates.
[0221] Furthermore, if the random number used for determining the jackpot is determined to be less than the lower limit of the determination in step S411-2, and if the random number used for determining the jackpot is determined to be not less than the determination criterion 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 in step S411, the process of updating the jackpot determination flag to 00H, which indicates a miss, is not performed, but is performed during the special symbol confirmation time process in step S407.
[0222] (Pattern selection process) Figure 19 is a flowchart showing the pattern selection process (step S412), and Figure 20 is a diagram showing an example of a pattern table.
[0223] As shown in Fig. 20, one symbol table is provided for each jackpot lottery result. In the symbol table, the selection rate for the type of special symbol (jackpot type, miss type) is set for each jackpot lottery result. Here, in the symbol table, the numerical value stored for each type of special symbol to be drawn represents a distribution value of the selection rate (a value representing the distribution) on the premise that the random number for special symbol determination can take 200 different values from 0 to 199. According to the symbol table for jackpots, when a jackpot is won in the first special symbol draw, "Jackpot 1" as the jackpot type has a selection rate of 200 / 200, that is, it is always determined. Further, when a jackpot is won in the second special symbol draw, "Jackpot 1" as the jackpot type is determined at a selection rate of 140 / 200, and "Jackpot 2" as the jackpot type is determined at a selection rate of 60 / 200.
[0224] Further, according to the symbol table for misses, when a miss is determined in the first special symbol draw, "Miss 1" as the miss type is determined at a selection rate of 180 / 200, "Miss 2" as the miss type is determined at a selection rate of 16 / 200, and "Miss 3" as the miss type is determined at a selection rate of 4 / 200. Further, when a miss is determined in the second special symbol draw, "Miss 1" as the miss type is determined at a selection rate of 180 / 200, "Miss 2" as the miss type is determined at a selection rate of 10 / 200, and "Miss 3" as the miss type is determined at a selection rate of 10 / 200.
[0225] In step S412-1, the CPU 40a selects a symbol table corresponding to the reservation type (first special symbol, second special symbol).
[0226] In step S412-2, the CPU 40a acquires the random number for special symbol determination and the jackpot determination flag. In step S412-3, the CPU 40a refers to the symbol table corresponding to the jackpot determination flag (jackpot / miss), and determines the type of special symbol (jackpot type, miss type) by lottery based on the random number for special symbol determination.
[0227] In step S412-4, the CPU 40a stores 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 terminates the special stop symbol creation process.
[0228] (Variable pattern lottery process) Figure 21 is a flowchart showing the variable pattern lottery process (step S413). In step S413-1, the CPU 40a determines whether or not it is a jackpot. That is, it determines whether or not it is a jackpot (=5AH) based on the jackpot determination flag.
[0229] If it is determined in step S413-1 that it is not a jackpot (it is a miss), then in step S413-2 the CPU 40a selects a miss variation pattern table and proceeds to the variation pattern selection process in step S413-4. On the other hand, if a jackpot is determined in step S413-1, the CPU 40a selects a jackpot variation pattern table in step S413-3 and then proceeds to the variation pattern selection process in step S413-4.
[0230] In step S413-4, the CPU 40a refers to the variable pattern table selected in step S413-2 or step S413-3, determines a variable pattern based on the random number for the variable pattern, and terminates the variable pattern lottery process.
[0231] Figure 22 shows an example of a variable pattern lottery table. The variation pattern table is stored in ROM40b. Note that while Figure 22 illustrates the variation pattern table used in the time-saving mode, a variation pattern table used in the non-time-saving mode is also provided.
[0232] As shown in Figure 22, in the lottery for the variation pattern when a loss occurs, there are seven types of variation patterns that can be selected by lottery: "Normal Variation 1s", "Normal Variation 12s1", "Normal Variation 12s2", "Super Reach 1", "Super Reach 2", "Super Reach 3", and "Super Reach 4". Furthermore, in the lottery for the winning spin pattern, there are four types of spin patterns that can be selected: "Super Reach 1," "Super Reach 2," "Super Reach 3," and "Super Reach 4."
[0233] Of the variation patterns described above, "Normal Variation 1s," "Normal Variation 12s1," and "Normal Variation 12s2" in particular belong to the variation patterns that correspond to "misses," so to speak, that are not selected when a jackpot is hit (these may also be referred to as "miss variation patterns" below).
[0234] In this embodiment, the random selection of the variation pattern when a loss occurs is performed using a different variation pattern table for each type of loss (loss 1, 2, or 3), regardless of Figures 1 and 2. As mentioned above, each of the "Miss 1," "Miss 2," and "Miss 3" types of misses has a different selection rate 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 jackpot lottery result is a "Miss," in most cases, "Miss 1" will be selected as the type of miss.
[0235] For the variation pattern lottery for Special Feature 2, when the losing type is "Loss 1", the lottery is conducted according to the number of reserved balls. Therefore, among the variation pattern tables for Special Feature 2, different tables are prepared for each number of reserved balls when the losing type is "Loss 1".
[0236] Here, within the variation pattern table, the numerical values stored for each variation pattern subject to the lottery represent the distribution values (values representing the distribution) of the selection probability, assuming that the random number used for determining the variation pattern can take on 1000 different values from 0 to 9999. For example, in the variation pattern table for Special Feature 1, the stored value for "Normal Variation 1s" in the table for "Miss 1" and "Number of Reserved Balls = 0" is "10000," which means that the winning probability for "Normal Variation 1s" is "10000 / 10000." The distribution values shown above as the stored values in the table are merely for explanatory purposes; in reality, the variation pattern table will store judgment criteria values like those used in the jackpot random number determination described above. For example, in the case of the table above with "Miss 1" and "Number of Reserved Balls = 0", the actual stored value (judgment criteria value) would be, for example, "9999". In that case, if the random number for the variation pattern is 9999 or less, "Normal Variation 1s" will be selected.
[0237] As can be seen by referring to the distribution values shown in Figure 22, in the special pattern lottery corresponding to the case of "miss 1", only "normal variation" is selected. Furthermore, in the special feature 2 variation pattern lottery corresponding to the case of "miss 1," the more balls held, the more likely it is that a normal variation pattern with a shorter variation time will be selected.
[0238] <5. Processing on the performance control board> Next, the processing performed by the CPU 41a of the performance control board 41 of this embodiment will be described. The processing of the CPU 41a mainly consists of a main process (performance control side main process: Figure 23) and a timer interrupt process (performance control side timer interrupt process: Figure 24) that is started by a scheduled interrupt.
[0239] [5.1 Main Processing on the Performance Control Side] Figure 23 is a flowchart showing the main processing on the performance control side. First, in step S501, the CPU 41a performs the necessary initial setup processing before the start of game operation. This initial setup processing includes, for example, setting command reception interrupts, returning the movable mechanism 50 to its home position, initializing the CTC, enabling timer interrupts, and initializing the register values inside the CPU, including various parts of the microcomputer.
[0240] Once the above initial setup process is complete, the main loop process from steps S504 to S511 is performed at predetermined intervals (16ms), and otherwise the random number update process for the animation software in step S503 is repeatedly performed.
[0241] In step S502, the CPU 41a refers to the main loop update counter to determine if the main loop update cycle (counter value > 15), which triggers the execution of the main loop process, 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 1ms and will be described later. In this embodiment, the main loop process is performed every 16ms, and in the determination process in step S502, the value of the main loop update counter is determined. If the value is greater than "15" (Yes in step S502), the timing for executing the main loop process has arrived, and the processes in steps S504 to S511 are executed. Otherwise, until the main loop update cycle arrives (No in step S502), in step S503, the software random numbers used for various performance lotteries, which are used to determine the performance scenario, are updated.
[0242] If the main loop update cycle is reached (Yes in step S502), in step S504 the CPU 41a clears the main loop update counter and in step S505 executes the demo / power saving mode process. In the demo / power saving mode process, the pre-customer waiting display (demo start waiting display), customer waiting display (demo display), and the necessary setting processes for power saving mode are executed.
[0243] In step S506, the CPU 41a executes the performance switch input process. In the performance switch input process, the CPU 41a monitors the operation status of the aforementioned operation unit 14 (performance button 14a, directional pad 14b, and select button 14c, etc.), and if an operation is detected, it executes the performance control process corresponding to that operation.
[0244] In step S507, the CPU 41a performs command analysis. During command analysis, it monitors whether a performance control command is stored in the command reception buffer. If a performance control command is stored, it reads the command and executes the 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 RWM's command reception buffer.
[0245] For example, if a command specifying a variation pattern and a command specifying a decorative pattern are received and stored in the receive buffer, the command analysis process determines the performance scenario based on the information contained in the commands, and stores the data of that performance scenario (performance scenario data) in the scenario setting area of the RWM. The performance scenario specifies a time schedule that determines when and for how long one or more types of performances should appear.
[0246] In step S508, CPU 41a executes a scenario update process. This scenario update process updates the timer values necessary for executing the performance scenario and executes a process to advance the performance scenario based on those timer values. A typical example of such a timer is the performance scenario timer, which manages the time schedule related to the timing of performance occurrences. For example, within the period when decorative symbols are displayed in a variation state, which is essentially the same period as the period when special symbols are displayed in a variation state, this timer manages the time schedule of what kind of performance to bring about, for what duration, and by what means to bring about that performance on that time axis. This production scenario timer is also used in the LED drive data update process (step S510) and the movable mechanism operation update process (step S603), which will be described later.
[0247] In step S509, the CPU 41a performs sound output processing. In sound output processing, based on the performance scenario data and the performance scenario timer, data such as phrases and volume are output to the aforementioned sound source IC, and sound effects are produced from the speaker 17. This realizes sound effects that conform to the performance scenario.
[0248] In step S510, the CPU 41a executes the LED drive data update process. In the LED drive data update process, control signals (LED data) are created to light up the light display device 16a based on the performance scenario data and the performance scenario timer.
[0249] In step S511, the CPU 41a executes LED output processing. In this LED output processing, the control signal (LED data) created in the LED drive data update processing is output to the lamp driver unit 26b, and the light display device 16a is lit up via the lamp driver unit 26b.
[0250] [5.2 Timer interrupt processing on the performance control side] Figure 24 is a flowchart showing the timer interrupt processing on the performance control side. The timer interrupt processing on the performance control side is triggered by an interrupt from the CTC at regular intervals (1ms) and is executed by interrupting the execution of the main processing on the performance control side.
[0251] In step S601, the CPU 41a saves the contents of the registers to the stack area, and then in step S602, it 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 if 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 mechanism operation update process. This movable mechanism operation update process performs processing to control the operation of the movable mechanism 50 based on the performance scenario data and the performance scenario timer. The details of the process to be executed as part of the movable mechanism operation update process in step S603 will be explained in more detail later.
[0253] In step S604, the CPU 41a performs SOL / MOT output processing. In this SOL / MOT output processing, control data is output to the motor drive control unit 51 based on the processing results of the movable body mechanism operation update processing. This enables the creation of a movable action sequence using the movable mechanism 50, in accordance with the production scenario. The details of the output processing in step S604 will be explained in more detail later.
[0254] In step S605, CPU 41a performs LCD command transmission processing. In this LCD command transmission processing, if there are LCD commands created in the scenario update processing (step S508), the LCD commands are sent to the aforementioned VDP to execute image display control. As a result, images according to the performance scenario are displayed.
[0255] In step S606, CPU 41a executes RTC information acquisition processing. This RTC information acquisition processing acquires date and time information (RTC information) measured by the RTC. This RTC information is used when displaying effects based on the RTC information.
[0256] In step S607, CPU 41a increments the main loop update counter. This main loop update counter is reset in step S503 during the main processing on the performance control side described above, and is then incremented.
[0257] In step S608, CPU41a restores the contents of the saved registers, terminates the timer interrupt processing, and executes the main processing on the performance control side until the next timer interrupt occurs.
[0258] <6. Control of movable parts as an embodiment> [6.1 Overview of Control Methods as Embodiments] Referring to Figures 25 and 26, an overview of the method for controlling a movable component as an embodiment will be described.
[0259] First, for comparison, Figure 25 shows an overview of the configuration of a conventional movable mechanism control system. Here, for illustrative purposes, we show a configuration assuming that the movable mechanism 50 consists of two movable mechanisms, 50x and 50y. Furthermore, here, the control unit corresponding to the conventional performance control board 41 is referred to as the performance control board 41'.
[0260] Conventional movable mechanism control systems employ a configuration in which the performance control board 41' directly controls each motor driver (52x, 52y). The conventional performance control board 41' (CPU 41a) outputs control signals to the motor drivers 52x and 52y in the aforementioned 1ms periodic timer interrupt processing for the performance side. In other words, it controls the operation of each performance motor (performance motors 53x and 53y) with a time granularity of 1ms period.
[0261] Furthermore, the operation of the movable mechanism 50 may be controlled using the aforementioned position sensor group 55 (position sensors 55x, 55y). Conventionally, as shown in the figure, the detection signals from the position sensors 55x, 55y are input to the performance control board 41' via the parallel / serial conversion unit 57. The CPU 41a of the performance control board 41' determines, based on the detection signals input from the position sensors 55x and 55y, whether the movable prop 50 has reached the target position at a 1ms interval via a timer interrupt process on the performance control side. If it is determined that the movable prop 50 has reached the target position, it outputs a control signal to the motor drivers 52x and 52y to stop the prop motors 53x and 53y.
[0262] In the conventional configuration described above, the CPU 41a of the performance control board 41' outputs control signals to the motor drivers 52x and 52y that instruct the operation of the gimmick motors 53x and 53y at a period of 1ms. In order to achieve this operation, the processing load on the performance control board 41' tended to increase in the conventional configuration, and developers were forced to create control data every 1ms. In other words, this led to an increased workload for developers in realizing the control of movable parts.
[0263] Furthermore, in the conventional configuration described above, the time-direction control resolution of the mechanism motors 53x and 53y is limited to the timer interrupt processing period, specifically a 1ms period. This made it difficult to smoothly move the movable mechanism 50.
[0264] Furthermore, in the conventional configuration, the CPU 41a of the performance control board 41' is responsible for controlling the operation of the movable parts based on the detection signals from the position sensors 55x and 55y. Therefore, the performance control board 41' required two communication systems: one for outputting control signals to the motor drivers 52x and 52y, and another for inputting the detection signals from the position sensors 55x and 55y.
[0265] Therefore, in this embodiment, a configuration using a motor drive control unit 51 as shown in Figure 26 is adopted as the configuration of the movable mechanism control system. As will be described in more detail later, the motor drive control unit 51 is composed of, for example, an LSI (Large Scale Integration) and has the function of generating and outputting control signals for the motor drivers 52x and 52y necessary to realize a series of operations of the movable component 50 when a control command Cd specifying a series of operations of the movable component 50 is input from an external source.
[0266] The term "series of operations" here refers to a series of operations of the movable component 50 that have a certain degree of continuity, such as the operation of the movable component 50 from the start to the stop of its movement, or the operation of the movable component 50 from the start to the end of its movement in one direction when it is moving back and forth. This series of operations only needs to be the operation of the movable component 50 over a period of time longer than at least one cycle of the timer interrupt.
[0267] In the following explanation, 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 of the movable mechanism 50 to be executed, based on the performance scenario data and performance scenario timer described above, to the motor drive control unit 51. The motor drive control unit 51 generates a driver control signal corresponding 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 configuration, in the gaming machine 1 of this embodiment, in order to realize a series of operations of the movable mechanism 50, the CPU 41a of the performance control board 41 no longer needs to output driver control signals to the motor drivers 52x and 52y at a 1ms cycle as in the conventional method. This reduces the processing load on the performance control board 41 in realizing the control of the movable mechanism, and also reduces the burden on developers. As will be described later, in this embodiment, the developer only needs to create data defining the operation for each segment of the operation that constitutes the desired operation pattern of the movable mechanism 50. This significantly reduces the workload compared to the conventional method of creating control data every 1ms.
[0270] Furthermore, according to the gaming machine 1 of this embodiment, the time-direction control resolution of the mechanism motors 53x and 53y is no longer restricted by the timer interrupt processing period (1ms period) as in the conventional method, making it possible to move the movable mechanism 50 smoothly. Specifically, in this embodiment, the movable mechanism 50 can be moved smoothly by making the microstep drive mode, which will be described later, available. This makes it possible to improve the effectiveness of the effects when using the movable prop 50.
[0271] Furthermore, in this embodiment, the motor drive control unit 51 responds to the input of detection signals from position sensors 55x, 55y, etc., provided on the movable component 50, and has the function of generating and outputting a motor control signal to move the target movable component 50 to the sensor position in response to an external control command Cd. Therefore, in order to realize the mechanism operation of moving the movable mechanism 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 method.
[0272] In this embodiment, in order 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 operations of the movable mechanism 50, including the operation of moving the movable mechanism 50 to the sensor position, it is sufficient to have one communication system between the performance control board 41 and the motor drive control unit 51, and the number of required communication systems can be reduced compared to the conventional method.
[0273] [6.2 Regarding the motor drive control unit] Figure 27 is a block diagram showing an example of the schematic internal configuration of the motor drive control unit 51. In this embodiment, the motor drive control unit 51 is capable of simultaneously controlling multiple motor drivers provided as a motor driver group 52. Specifically, the motor drive control unit 51 in this example is capable of simultaneously 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 in the motor drive control unit 51 is referred to as an "axis," and the four control systems are denoted as "X-axis," "Y-axis," "Z-axis," and "U-axis," respectively.
[0275] In the diagram, of the four control systems for the X, Y, Z, and U axes that the motor drive control unit 51 has, only the configuration of the X-axis control system is shown as the "X-axis circuit." The configurations of the other Y-axis, Z-axis, and U-axis control systems (referred to as "Y-axis circuit," "Z-axis circuit," and "U-axis circuit" in the diagram) are the same as the configuration of the X-axis circuit, so they are not shown.
[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 the performance control board 41 in this embodiment, in accordance with a predetermined data communication standard. This I / F unit 71 is a communication interface unit provided in common for the X-axis circuit, Y-axis circuit, Z-axis circuit, and U-axis circuit. In other words, external devices of the motor drive control unit 51 can communicate individually with these X-axis circuit, Y-axis circuit, Z-axis circuit, and U-axis circuit via the I / F unit 71. Furthermore, for the I / F section 71, it is conceivable to use one that supports, 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 includes 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 multiplier / frequency divider circuit 77, an output type conversion circuit 78, a remaining pulse count counter 79, a current up / down control circuit 80, and a general-purpose input / output control circuit 81. Furthermore, the X-axis circuit 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 is configured to output a pulse signal indicating the period of the drive pulse of the special-purpose motor and a rotation direction indicator signal indicating the rotation direction (CW / CCW) of the special-purpose motor. 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 indicator signal. Hereafter, the pulse signal output from the pulse signal output terminal OUT will be referred to as the "OUT signal," and the rotation direction indicator 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 as "P0x," "P1x," "P2x," and "P3x" in the diagram. These general-purpose input / output terminals are terminals that can be selected to input or output which signals. The setting of which signals to input or output for each general-purpose input / output terminal can be done by setting the setting register in the register section 73, which will be described later.
[0279] Here, the pulse signal output terminal OUT, the rotation direction output terminal DIR, and the multiple general-purpose input / output terminals P described above are provided for each axis, and the terminals for each axis are distinguished by adding an alphabet corresponding to the axis at the end of the code. Specifically, the pulse signal output terminal OUT and the rotation direction output terminal DIR in the Y-axis circuit, Z-axis circuit, and U-axis circuit are denoted as "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 denoted as "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 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 section 73 and the control using the pre-register will be explained in more detail later.
[0282] The register section 73 is provided with the following registers to store the control command Cd. • RFL Register: A register that stores the control command Cd (hereinafter referred to as "RFL command") which specifies the FL speed (initial speed, stopping speed) of the motor for the special effects device. • RFH Register: A register that stores the control command Cd (hereinafter referred to as "RFH command") which specifies the FH speed (operating speed) of the motor for the special effects device. • RMV Register: A register that stores the control command Cd (hereinafter referred to as "RMV command") which specifies the number of output pulses (target movement amount of the movable part 50) to stop the motor of the part during the positioning operation mode described later. • RMG Register: A register that stores the control command Cd (hereinafter referred to as "RMG command") which specifies the speed multiplier of the motor for the special effects device. • RDP Register: A register that stores the control command Cd (hereinafter referred to as "RDP command") which specifies the slowdown point (the value that determines the number of remaining pulses to start deceleration). • RUR Register: A register that stores the control command Cd (hereinafter referred to as "RUR command") which specifies the acceleration rate of the motor for the special effects device (the larger the value, the longer the acceleration time and the gentler the acceleration). • RDR: Register that stores the control command Cd (hereinafter referred to as "RDR command") which specifies the deceleration rate of the motor for the special effects device (the larger the value, the longer the deceleration time and the gentler the deceleration).
[0283] External devices such as the performance control board 41 can instruct the command register control circuit 72 to write the corresponding control commands Cd to the various registers mentioned above by issuing a register write command. In other words, it can instruct the circuit to write the various control commands Cd related to the control of the special effects motors mentioned above to their respective registers.
[0284] Furthermore, the register section 73 is also provided with the following registers for storing values related to the control of the special effect motor. • RPLS: A register that stores the remaining pulse count. In positioning operation mode, the number of output pulses stored in the RMV register mentioned above is set as the initial value, and thereafter it is decremented by the remaining pulse count counter 79 described later.
[0285] In addition to the registers exemplified above, the register section 73 also includes setting registers for configuring the environment and operating mode, and a status register for storing values indicating the operating status of the motor drive control unit 51.
[0286] In this embodiment, the motor drive control unit 51 is capable of switching between the positioning operation mode described above and the sensor input stop mode as the drive control mode for the special feature motor. The positioning operation mode is a mode in which a motor in the motor group 53 that is the target of a special feature is stopped when the number of drive pulses of that motor reaches a predetermined number of output pulses. This can be rephrased as a mode in which the target movable special feature 50 is moved by a predetermined target amount. The sensor input stop mode is a mode in which the motor of the target movable object 50 is stopped when it is determined that the target movable object 50 has reached the position of the target position sensor based on the detection signal of the target position sensor in the position sensor group 55.
[0287] Switching between the positioning operation mode and the sensor input stop mode is achieved by setting a control command Cd to a predetermined setting register in the register unit 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 the RMD register, which is provided in the register section 73 as a register for setting the operation mode. In this example, depending on the control command Cd (hereinafter referred to as "RMD command") applied to the RMD register, it is possible to specify not only the positioning operation mode and the sensor input stop mode, but also the rotation direction (CW / CCW) of the component motor. Furthermore, the RMD command in this example also allows specifying which general-purpose input / output terminal to use as the sensor signal input terminal when specifying the sensor input stop mode. Specifically, the motor drive control unit 51 in this example is designed to select the terminal to input the detection signal from the position sensor from among the general-purpose input / output terminals P0 to P3 when the sensor input stop mode is selected, and the above RMD command is used to specify which general-purpose input / output terminal to use as the sensor signal input terminal when specifying the sensor input stop mode.
[0288] The command register control circuit 72 generates and outputs driver control signals (the OUT signal and DIR signal mentioned above) to realize the operation of the movable mechanism 50 in accordance with the instructions of the control command Cd, by controlling the start / stop control circuit 75, the acceleration / deceleration pulse generation circuit 76, and the multiplier / frequency divider circuit 77 based on the control command Cd related to the control of the mechanism motor stored in the register section 73.
[0289] The start / stop control circuit 75 controls the pulse generation and output operation of 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 form the basis of the OUT signal. Specifically, for example, when the motor rotates forward (CW), it generates a pulse signal with positive polarity, and when the motor rotates backward (CCW), it generates a pulse signal with negative polarity, generating and outputting pulse signals with polarity corresponding to the rotation direction of the motor.
[0290] The command register control circuit 72 outputs a start instruction signal to the start / stop control circuit 75 in response to a start command input from an external device via the I / F unit 71. The start / stop control circuit 75 then causes the acceleration / deceleration pulse generation circuit 76 to start outputting pulse signals according to this start instruction signal. The timing at which the acceleration / deceleration pulse generation circuit 76 starts outputting a pulse signal corresponds to the timing at which the motor for the special effects device starts to drive.
[0291] Furthermore, the start / stop control circuit 75 stops the output of pulse signals from the acceleration / deceleration pulse generation circuit 76 based on instructions from the command register control circuit 72. Here, the timing for stopping the output of the pulse signal by the acceleration / deceleration pulse generation circuit 76 can be described as when the number of output pulses of the OUT signal reaches the "number of output pulses" set in the RMV register during the positioning operation mode described above, and when the target movable object 50 reaches the position of the target position sensor during the sensor input stop mode described above.
[0292] When the sensor input is stopped, the command register control circuit 72 determines whether the target movable object 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 specified in advance by the RMD command described above. If it determines that the target movable object 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] Furthermore, in positioning operation mode, the command register control circuit 72 outputs a stop command signal to the start / stop control circuit 75 based on the count value from the remaining pulse count counter 79 (see "RPLS" in the figure). In this example, the command register control circuit 72 outputs the value of the number of output pulses stored in the aforementioned RMV register to the remaining pulse counter 79 (see "RMV" in the figure). The remaining pulse counter 79 receives the multiplier-adjusted pulse signal output by the multiplier divider circuit 77, which will be described later, and counts the remaining pulses (i.e., the difference between the number of output pulses set as the target by the control command Cd and the current number of output pulses) by subtracting the pulse count value of the multiplier-adjusted pulse signal from the number of output pulses input from the command register control circuit 72. Here, the number of pulses in the multiplier-adjusted pulse signal is the same as the number of pulses in the OUT signal. In other words, the remaining pulse counter 79 counts the remaining pulses with respect to the OUT signal.
[0294] In positioning operation mode, the command register control circuit 72 outputs a stop command signal to the start / stop control circuit 75 when the number of remaining pulses input from the remaining pulse counter 79 becomes 0. Furthermore, the command register control circuit 72 also performs the process of storing the value of the remaining pulse count 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 bonus motor, indicated as "SRUN" in the figure (hereinafter referred to as "drive status value SRUN"), 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 used to identify the start timing and end timing (stop timing) of the drive control of the bonus motor. In this example, for example, "1" (H level) means that it is driving, and "0" (L level) means that it is stopped. In this example, the start / stop control circuit 75 raises the drive status value SRUN from "0" to "1" when a start command signal is input from the command register control circuit 72, and lowers the drive status value SRUN from "1" to "0" when a stop command 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 into a predetermined status register (hereinafter referred to as the "SRUN register") provided in the register section 73. As a result, the performance control board 41 can query status information, such as whether the performance motor is running or stopped, by issuing a register read command to the command register control circuit 72, which instructs the SRUN register to read the value.
[0297] The acceleration / deceleration pulse generation circuit 76 generates and outputs pulse signals at a frequency based on the instructions from the command register control circuit 72, based on the instructions from the start / stop control circuit 75.
[0298] The frequency of the pulse signals generated and output by the acceleration / deceleration pulse generation circuit 76 is controlled based on the aforementioned RFL command (FL speed), RFH command (FH speed), RUR command (acceleration rate), RDP command (slowdown point), and RDR command (deceleration rate).
[0299] Specifically, in response to the issuance of the aforementioned start command, the acceleration / deceleration pulse generation circuit 76 receives instructions from the command register control circuit 72 regarding 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 pulse signal output start instruction from the start / stop control circuit 75, the acceleration / deceleration pulse generation circuit 76 first starts 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 pulse signal frequency reaches the frequency corresponding to the FL speed, it maintains the pulse signal frequency at the frequency corresponding to the FL speed. Subsequently, when the timing of the slowdown point indicated by the RDP command is reached, a deceleration instruction is given to the acceleration / deceleration pulse generation circuit 76 from the command register control circuit 72. In response to this deceleration instruction, the acceleration / deceleration pulse generation circuit 76 decreases the frequency of the pulse signal at a frequency decrease rate corresponding to the deceleration rate. Then, in response to a pulse signal output stop instruction from the start / stop control circuit 75, it stops outputting the pulse signal.
[0300] This allows the operation of the target motor to be controlled according to the configuration specified by the RFL command (FL speed), RFH command (FH speed), RUR command (acceleration rate), RDP command (slowdown point), and RDR command (deceleration rate).
[0301] The frequency divider circuit 77 divides the frequency of the pulse signal output from the acceleration / deceleration pulse generation circuit 76 based on instructions from the command register control circuit 72. Specifically, the command register control circuit 72 instructs the multiplier divider circuit 77 to use the speed multiplier indicated by the aforementioned RMG command. The multiplier divider circuit 77 divides the frequency of the pulse signal input from the acceleration / deceleration pulse generation circuit 76 by a division ratio corresponding to the instructed speed multiplier. This allows for speed multiplier adjustment of the operating speed (rotation speed) of the mechanism motor according to the RMG command.
[0302] The output mode conversion circuit 78 generates an OUT signal and a DIR signal based on the pulse signal output from the multiplier / frequency divider circuit 77. As can be understood from the above explanation, the pulse signal in this example has polarity corresponding to the rotation direction of the motor, and the output mode conversion circuit 78 generates and outputs a DIR signal based on the polarity of the input pulse signal, and generates and outputs the signal obtained by taking the absolute value of the pulse signal as the OUT signal.
[0303] The general-purpose input / output control circuit 81 controls the input and output of signals for the general-purpose input / output terminals P0x to P3x based on instructions from the command register control circuit 72. Signals that can be assigned to the general-purpose input / output terminals P0x to P3x include the aforementioned drive status value SRUN, the current up / down signal CDWN output by the current up / down control circuit 80 described below, and positioning sensor signals. The drive status value SRUN and the current up / down signal CDWN can be output externally. In addition, at least the positioning sensor signal can be input externally. In this example, the specifications state that the current up / down signal CDWN can only be output from the general-purpose input / output terminals P1 or P3.
[0304] The current up / down control circuit 80 performs control to realize the current up function and the current down function (hereinafter collectively referred to as "current up / down function").
[0305] The current-up function referred to here is a function that delays the output of the drive pulse for the bonus motor for a predetermined period from the timing of the start command, rather than immediately outputting the drive pulse at the timing of the start command. This function provides a grace period to increase the output current value of the motor driver to the drive current value (drive current value) before applying the drive pulse to the bonus motor. If a drive pulse is applied before the output current value of the motor driver stabilizes, there is a risk that the motor for the mechanism will lose synchronism. Therefore, the above grace period is provided to prevent this loss of synchronism. In addition, by providing the above grace period, it is possible to obtain a period of time for the mechanism (movable mechanism 50) to stabilize in the excited position, thus also preventing the motor for the mechanism from losing synchronism. Hereafter, the above grace period will be referred to as the "current upgrade period."
[0306] The current-down function maintains the motor driver's output current value at the aforementioned drive current value for a predetermined period from the timing of the motor's drive stop (the timing of the cessation of drive pulse application), and then reduces it to the standby current value. By providing a period during which the motor driver's output current value is maintained at the drive current value from the timing of the motor's drive stop, it is possible to ensure that the motor has sufficient time to stop completely. Furthermore, by reducing the motor driver's output current from the drive current value to the standby current value, the heat generated by the motor can be reduced. Hereafter, the period during which the motor driver's output current value is maintained at the operating current value from the moment the motor stops driving, as described above, 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 signal to realize the current up / down function described above.
[0308] Figure 28 is an explanatory diagram of the operation of the current up / down control circuit 80. Here, along with the current up / down signal CDWM, the drive status values SRUN and OUT signals mentioned above are also shown.
[0309] In the diagram, the timing indicated as "CSTA" represents the moment when the start command instructed the motor to begin operating. The current up / down control circuit 80 outputs a start command permission signal to the start / stop control circuit 75 when a predetermined current up period has elapsed from the timing of the drive start instruction by this start command. The timing of the start command to initiate operation 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 start command to output a pulse signal from the acceleration / deceleration pulse generation circuit 76, in response to the input of the start command permission signal, as well as the start command instruction permission signal from the command register control circuit 72. As a result, as shown in the diagram, the OUT signal starts outputting pulses after a predetermined current-up period has elapsed from the timing of the drive start instruction by the start command.
[0311] Regarding the drive stop side, as mentioned above, the start / stop control circuit 75 stops the pulse generation and 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] Furthermore, the current up / down control circuit 80 generates the current up / down signal CDWN as follows. First, in response to the timing of the start command, the current up / down signal CDWN is changed from the OFF level (e.g., L level) to the ON level (e.g., H level). Then, if the command register control circuit 72 instructs the timing for stopping the pulse output, the current up / down signal CDWN is changed from the ON level to the OFF level in accordance with the elapsed current down period from the timing of the pulse output's stop. For clarification, the timing of the stop of the pulse output mentioned above is the same as the timing of the output of the stop instruction signal from the command register control circuit 72 to the start stop control circuit 75.
[0313] In this example, the ON / OFF status of the current up / down function, as well as the current up period and current down period, can be set by a control command Cd from an external device via the I / F unit 71. In this way, information regarding the ON / OFF status of the current up / down function set by the control command Cd, as well as information regarding the current up period and current down period, is instructed from the command register control circuit 72 to the current up / down control circuit 80.
[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. The specific methods and configurations 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 in more detail later.
[0315] As explained with reference to Figure 27, in this embodiment, the command register control circuit 72, when the sensor input is stopped, determines whether the target movable object 50 has reached the position of the target position sensor based on the detection signal from the target position sensor among the position sensor group 55. In this example, the motor drive control unit 51 allows adjustment of the determination conditions for determining arrival at the position sensor. Specifically, in this example, the determination of arrival at the position sensor is made when the detection signal of the position sensor maintains an ON level for a specified time or longer, and the specified time can be adjusted. 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 to, for example, between 1.0 ms and 2.0 ms. Preferably, the specified time is approximately 1.2 ms. If the specified time is too short, noise may cause a false positive, where the system mistakenly determines that the system has reached the position sensor when it hasn't. Conversely, if the time is too long, the system may fail to detect the arrival at the position sensor. Therefore, by appropriately setting the specified time, the accuracy of the position sensor arrival detection can be improved.
[0316] [6.3 Control Data Creation Method as an Embodiment] Referring to Figures 29 to 33, we will explain examples of control data that should be created to realize the control of a movable mechanism as an embodiment, and the method for creating the control data.
[0317] Figure 29 is an explanatory diagram of various control data used to realize the control of movable parts as an embodiment. As shown in the figure, the various control data used to realize the control of the movable mechanism as an embodiment include three types of data: mechanism sub-scenario data D1, segment operation management data D2, and control command management data D3.
[0318] The developers create the special feature sub-scenario data D1, the segmented operation management data D2, and the control command management data D3 using a computer device 100. The computer device 100 can be a computer device capable of software processing, such as a personal computer, tablet terminal, or smartphone.
[0319] The developer stores the created sub-scenario data D1, segment operation 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 sub-scenario data D1, segment operation management data D2, and control command management data D3 stored in the ROM 41b, thereby realizing the operation of the movable mechanism 50 in accordance with the performance scenario.
[0320] Figure 30 is an explanatory diagram illustrating an example of the data structure of the bonus sub-scenario data D1. In performances using the movable mechanism 50, it is common practice to define multiple operation patterns for the movable mechanism 50. For example, multiple operation patterns for the movable mechanism 50 are defined to accommodate situations where different operation patterns are desired for each scene during gameplay, such as when a jackpot is announced, when a probability variation is announced, or when a specific operation is detected. The sub-scenario data D1 for the mechanical device is data that manages the operation of the movable mechanical device 50 in units of such operation patterns. The unit of the operation pattern can be arbitrarily defined, and in this embodiment, at least one operation pattern only needs to include one or more operation parts, as described later.
[0321] Furthermore, in the case of effects using the movable parts 50, there may be effects in which multiple movable parts 50 are driven simultaneously. In such cases, the operation pattern can be defined as a single operation pattern encompassing the movements of these multiple movable parts 50.
[0322] In the diagram, only the management data for some of the operation patterns managed by the sub-scenario data D1 stored in ROM41b is shown. Specifically, only the data for the three operation patterns "B0_Combination", "B02_Gimmick", and "B03_△○×□When using a chance item" is shown.
[0323] In the special feature sub-scenario data D1, the management data for each operation pattern stores identification information for each "sectional operation" included within that operation pattern. For example, the operation pattern "B0_Combine" is defined as including four sectional operations: "Excitation ON", "B01_No1", "B01_No1_wait", and "B01_No2". As shown in the figure, the management data for "B0_Combine" stores "Excitation ON", "B01_No1", "B01_No1_wait", and "B01_No2" as identification information for these sectional operations. Furthermore, the operation pattern of "B02_Gimmick" is defined as including four distinct operations: "Excitation ON," "B02_No1," "B02_No1_wait," and "B02_No2~3." The management data for "B02_Gimmick" stores "Excitation ON," "B02_No1," "B02_No1_wait," and "B02_No2~3" as identification information for these distinct operations.
[0324] Furthermore, the management data for each operation pattern is associated with "operation type" information for each category operation. This operation type information describes the type of operation that the CPU 41a should execute. As shown in the diagram, if operation type = operation call is described, the CPU 41a will retrieve the data for the corresponding category operation from the category operation management data D2 based on the identification information of the category operation associated with that operation type information.
[0325] Figure 31 is an explanatory diagram illustrating an example of the data structure of the segmented operation management data D2. The segmented operation management data D2 is data that manages the information used to implement each segmented operation. In the diagram, only the management data for the three category operations "B01_No1", "B01_No1_wait", and "B01_No2", which are exemplified in Figure 30, are extracted and shown from all category operations.
[0326] In the segmented operation management data D2, the management data for each segmented operation stores information about the "operation type" included in that segmented operation. This operation type may store information about "drive control unit operation," "waiting for drive control unit operation completion," or "standby." 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 issues and executes the aforementioned control commands Cd (such as RFL command, RFH command, RMV command, RMG command, RDP command, RUR command, RDR command, start command, etc.). Waiting 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] Furthermore, in the management data for each type of operation, "step" information is associated with each type of operation. Here, the unit of the value described in "step" is the time of one timer interrupt (1 ms in this example). Furthermore, among the information on operation types, the "drive control unit operation" operation type is associated with the "part name" information.
[0328] In the illustrated example, in the management data of "B01_No1", the first line is defined as a line with operation type = drive control unit operation, and the second and third lines are defined as lines with operation type = waiting for completion of drive control unit operation. For the first line with operation type = drive control unit operation, "1" is described as "step" information, and the name information "[C44_201_XY_TAMA_B01]{Ball}TY106_Pre-variation △○×□ Ball gimmick preview_Combination No1_Forward rotation XY axis data" is described as the part name. Furthermore, "1000" is described as "step" information for the second and third lines with operation type = waiting for completion of drive control unit operation.
[0329] Furthermore, since the management data of "B01_No1_wait" is a standby operation, it only includes a line with operation type = standby. As illustrated, "2500" is described as the value of "step".
[0330] Furthermore, in the management data of "B01_No2", the first line is defined as a line with operation type = drive control unit operation, and the second and third lines are defined as lines with operation type = waiting for completion of drive control unit operation. For the first line with operation type = drive control unit operation, "1" is described as "step" information, and the name information "[C44_201_XY_TAMA_B01]{Ball}TY106_Pre-variation △○×□ Ball gimmick preview_Combination No2_Reverse rotation to sensor XY axis data" is described as the part name. Furthermore, "1000" is described as "step" information for the second and third lines with operation type = waiting for completion of drive control unit operation.
[0331] Here, the reason why two lines for waiting for completion of drive control unit operation are provided in the management data of "B01_No1" and "B01_No2" is that the operation pattern of "B0_combination", which includes the divided operations of "B01_No1" and "B01_No2", is defined as an operation pattern realized by the operations of the two movable accessory 50 along the X axis and Y axis. In this case, the operation of the movable mechanism 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. Therefore, two lines for waiting for the drive control unit operation to complete are provided so that the operation waiting time ("step" value) for each axis can be determined, allowing for individual monitoring of the drive termination timing of the mechanism motors for the X-axis and Y-axis circuits.
[0332] In the management data for each operation category, for the row where the operation type is drive control unit operation, the CPU 41a reads the source code associated with the name information described in "part name" from the control command management data D3, and sends the corresponding control command Cd to the motor drive control unit 51 according to the source code. As with the management data "B01_No1" and "B01_No2" described above, if name information corresponding to the motor control operation of multiple axes is described as "part name", the control command management data D3 contains source code for sending control commands Cd for each axis in association with the name information. By sending the corresponding control command Cd to the motor drive control unit 51 according to the source code, the drive control of the defined mechanism motor (i.e., the operation of the movable mechanism 50) is realized for each axis.
[0333] Furthermore, for lines with operation type = wait for drive control unit operation to finish, CPU 41a performs operation completion confirmation processing according to the value described in "step". Specifically, if a control command Cd (including the start command mentioned above) is sent according to the "part name" information in the line with operation type = drive control unit operation, it is determined 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 line with operation type = wait for drive control unit operation to finish. If there are multiple rows with operation type = waiting for drive control unit operation to finish, such as "B01_No1" and "B01_No2", the CPU 41a performs the above confirmation process for each axis based on the "step" value of those rows. Specifically, it queries the aforementioned drive status value SRUN 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 necessary to pre-define which row's "step" value should be referenced for each axis. For example, among multiple operation types = rows waiting for the drive control unit operation to finish, the X axis, Y axis, Z axis, and U axis could be assigned in order from the row with the lowest row number.
[0334] In this embodiment, if the status of the motor drive control unit 51 does not change to drive stopped within the time specified by the "step" value as a result of the above verification process, a fail-safe process is performed, which will be explained in more detail later.
[0335] Furthermore, for rows where the operation type is "wait," CPU41a performs a process of waiting for the waiting time indicated by the value of "step."
[0336] In the management data for each operation shown in the figure, the information associated with the operation type, namely "excitation" and "speed," is described in this example as information written for the developer's management purposes and is not information that the CPU 41a refers to during the control processing of the movable mechanism 50.
[0337] As can be understood from the above explanation, the operation of the movable mechanism 50 can be broadly divided into units of operation patterns, and each operation pattern can be further divided into units of segmented operations. Among the segmented operations that constitute the operation patterns are operations defined as a series of mechanism motor operations (i.e., operations of the movable mechanism 50) that are realized by issuing a control command Cd to the motor drive control unit 51, such as "B01_No1" and "B01_No2". In this embodiment, a series of operations of the movable body part 50 that constitute an operation pattern, such as the segmented operations of "B01_No1" and "B01_No2," and are realized by issuing a control command Cd to the motor drive control unit 51, will be referred to as "operation parts." In this case, the information described in "Part Name" in the segmented operation management data D2 can be rephrased as identification information for the "operating part".
[0338] Figure 32 is an explanatory diagram illustrating an example of the data structure of control command management data D3. Control command management data D3 is data that manages the control commands Cd that should be sent to the motor drive control unit 51 for each operating part. Figure 32 shows an example of control command management data extracted for only some of the defined operating parts. Specifically, only the control command management data for the operating parts of "B01_No1" with the part name "[C44_201_XY_TAMA_B01]{Sphere}TY106_Pre-change △○×□Ball Gimmick Notification_Combination No.1_Forward Rotation XY Axis Data", the operating parts of "B01_No2" with the part name "[C44_201_XY_TAMA_B01]{Sphere}TY106_Pre-change △○×□Ball Gimmick Notification_Combination No.2_Reverse XY Axis Data to Sensor", and the operating parts of the segment operation "B02_No1" of the operation pattern "B02_Large Gimmick" with the part name "[C44_201_X_TAMA_B02]{Sphere}TY106_Pre-change △○×□Ball Large Gimmick Notification_No.1_Forward Rotation X Axis Data" are extracted.
[0339] In the control command management data D3, the management data for each operating part contains information about the "part name" of that operating part. This allows the CPU 41a to identify the management data for the corresponding operating part from the control command management data D3 based on the "part name" information described in the management data for each category of operation shown in Figure 31.
[0340] In the control command management data D3, the control command management data for each operating part contains source code that includes a control command Cd for realizing the operation of the movable part 50, and the CPU 41a can transmit the control command Cd for realizing the operation of the movable part 50 to the motor drive control unit 51 by performing processing according to the source code.
[0341] Figure 33 shows an example of a work screen Gs for defining working parts. In this embodiment, the developer defines the operating parts using an application program for defining operating parts (hereinafter referred to as the "operating parts definition application") installed on the computer device 100 shown in Figure 29. Figure 33 shows an example of the work screen Gs displayed by this operation part definition application.
[0342] On the work screen Gs, it is possible to define the operation of each operation pattern of the movable component 50 using a flowchart-like UI (User Interface) as shown on the left side of the diagram. There are three types of boxes that can be used in a flowchart: boxes FS1, FS2, and FS3, as illustrated in the diagram. Box FS1 is used to determine whether or not a position sensor is used for the axis whose operation is being defined. Furthermore, box FS2 is a box used to define the operation of the working part. Box FS3 is a box used to define waiting behaviors like the aforementioned "B01_No1_wait".
[0343] Selecting box FS2 in the flowchart allows you to define the operation of the operating part 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 also provided with operation units p1, p2, and p3, which allow selection and setting of the rotation direction of the motor, the aforementioned 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. Figure 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 unit p2.
[0344] The target axis selection area Ar1 is provided with an operation section for selecting which of the X-axis to U-axis's movements to define. As mentioned above, it is possible to define the movements of multiple axes for a moving part. After selecting one box FS2, by performing an axis selection operation in the target axis selection area Ar1, it is possible to define the movement for each axis by inputting into the setting input area Ar2, which will be explained 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 count input box b5, and a deceleration period input box b6. The FL speed input box b2 is for inputting the FL speed (initial speed, stopping speed) as described above, and the acceleration period input box b3 is for inputting the acceleration period, that is, the transition period from the initial speed to the HL speed (operating speed) as described above. The HL speed input box b4 is for inputting the HL speed. Furthermore, the output pulse count input box b5 is a box for inputting the output pulse count (target movement amount of the movable part 50) as described above, and the deceleration period input box b6 is a box for inputting the deceleration period, that is, the transition period from HL speed to FL speed (stopping speed).
[0346] By inputting to the FL speed input box b2, acceleration period input box b3, HL speed input box b4, output pulse count input box b5, and deceleration period input box b6, the FL speed, acceleration period, HL speed, output pulse count, and deceleration period can be specified, thereby defining a predetermined motor operation for the movable part (operation of the movable part 50) according to the positioning operation mode. Although not shown in the diagram, when the sensor input stop mode is selected, the setting input area Ar2 should display a UI that allows the user to specify at least the FL speed, acceleration period, and HL speed.
[0347] Here, the definition area Ad is provided with a comment input box b7. In this example, it is possible to specify the "part name" mentioned above by entering 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 operating part defined by the input operation in the setting input area Ar2.
[0348] In the definition area Ad, the execution button Bt is a button used to instruct the motor drive control unit 51 to output a control command Cd corresponding to the defined operating part, when the computer device 100 and the motor drive control unit 51 (with the motor driver connected to the mechanism motor) are connected in the development environment. By providing this execution button Bt, developers can perform the definition work of operating parts while checking the actual operation of the movable mechanism 50.
[0349] Furthermore, in the definition area Ad, the label name input box b1 is a box for entering the label name for the operation pattern for which the flowchart is displayed on the work screen Gs. Additionally, message input b8 is a box for developers to enter messages if they wish to leave management messages about the defined operational parts.
[0350] The motion part definition application has the function of generating control command management data D3, as explained in Figure 32 above, for motion parts defined through the work screen Gs as described above. Based on the values such as FL speed, acceleration period, and HL speed specified by the operation on the definition area Ad described above, the motion part definition application can generate control commands Cd, such as RFL command, RFH command, and RUR command, necessary to realize the defined operation for each motion part. In positioning operation mode, an RDP command indicating the slowdown point will be issued, but the slowdown point (the number of remaining pulses at which deceleration begins) can be automatically determined if the number of output pulses (b5) and the deceleration period (b6) are specified (because during deceleration, it is defined that the speed should be reduced from HL speed to FL speed).
[0351] The operating part definition application generates the necessary control command Cd for each operating part as described above, and then generates source code for each operating part to execute the control command Cd transmission process on the CPU 41a. Then, by associating the information of the part name entered in the comment input box b7 mentioned above with the generated source code for each operating part, it generates the control command management data D3. The developer stores the control command management data D3 generated by the functionality of this operational part definition application in the ROM 41b of the performance control board 41.
[0352] The functionality of the motion part definition application described above significantly reduces the workload on developers required to implement the control of movable parts as an embodiment of the application.
[0353] [6.4 Control Processing of Movable Parts as an Embodiment] (6.4.1 Processing Flow) Next, we will describe the process related to the control of movable parts as an embodiment executed by the CPU 41a. The control of the movable mechanism 50 is mainly achieved by the movable mechanism operation update process in step S603 and the SOL·MOT output process in step S604 in the performance control side timer interrupt processing shown in Figure 24.
[0354] In the movable mechanism operation update process of step S603 in Figure 24, the CPU 41a selects one operation pattern from the mechanism sub-scenario data D1 shown in Figure 30 as the performance scenario progresses. The selection of one operation pattern from the mechanism sub-scenario data D1 is performed based on the performance scenario data (main scenario data), which is not shown in the illustration, and the performance scenario timer mentioned above.
[0355] In step S603, if a certain operation pattern is selected from the special feature sub-scenario data D1, the CPU 41a identifies the management data for the segmental operation indicated by the identification information ("Excitation ON", "B01_No1", etc.) of the segmental operation in the management data of the selected operation pattern, from among the management data for each segmental operation in the segmental operation management data D2 (see Figure 31). Then, processing is performed according to the description in the first row of the management data for the identified category of operation. For example, if the first row is "Operation Type" = "Drive Control Unit Operation", then the name information described in "Part Name" in that row (e.g., "[C44_201_XY_TAMA_B01]{Ball}TY106_Pre-Variation△○×□Ball Gimmick Announcement_Combination No.1_Forward Rotation XY Axis Data") is obtained. In step S603, at the timer interrupt timing following the timer interrupt timing in which an operation pattern was selected from the special feature sub-scenario data D1, the CPU 41a performs processing according to the "operation type" information of the target row in the segmented operation management data D2. If the row is "Operation Type" = "Drive Control Unit Operation", the process retrieves the name information described in "Part Name" in that row. Furthermore, if the row is "Operation Type" = "Waiting for Drive Control Unit Operation to Complete", the value described in the "Step" of that row is set to the "Scheduled Stop Time Timer". This scheduled stop time timer is a timer that is decremented with each timer interrupt, and "0" represents the arrival of the scheduled stop time. In step S706 of Figure 34, which will be described later, it is determined whether or not this scheduled stop time timer is less than 0, thereby determining whether or not the scheduled stop time has elapsed (i.e., the operation completion confirmation process described above). Here, as mentioned above, the operation of a moving part may be defined as having multiple axes of operation. In that case, consecutive rows of "Operation Type" = "Waiting for Drive Control Unit Operation to Complete" are provided in the segmented operation management data D2. When consecutive rows of "Operation Type" = "Waiting for Drive Control Unit Operation to Complete" are provided in this way, as the processing in step S603, the CPU 41a sets the value of the scheduled stop time timer for the corresponding axis based on the "Step" value of each of those consecutive rows.
[0356] Furthermore, when CPU 41a has completed processing for the first segment of the selected operation pattern and is ready to start processing for the second and subsequent segment operations, it performs the following processing as step S603. In other words, if the identified segmental operation is a waiting operation such as "B01_No1_wait", and the management data for that segmental operation consists only of rows where "Operation Type" = "Wait", then the CPU 41a performs a check at each interrupt timing to determine whether the waiting time indicated by the "Step" value of that row has elapsed, as the processing for step S603. Then, at step S603 of the interrupt timing in which it is determined that the waiting time has elapsed, the CPU 41a starts processing the next segmental operation in the selected operation pattern using the segmental operation management data D2. In other words, it starts processing the second and subsequent segmental operations described here.
[0357] Furthermore, if the identified segmented operation is a segmented operation of an operating part such as "B01_No2", the CPU 41a performs the same processing as for the first segmented operation described above. That is, it performs the processing to obtain the name information described in "Part Name", and the processing to set the value of "Step" in the row where "Operation Type" = "Waiting for Drive Control Unit Operation to Complete" to the scheduled stop time timer.
[0358] If CPU 41a has completed processing based on the segmental operation management data D2 as described above for all segmental operations included in an operation pattern selected from the special effect sub-scenario data D1, then as the process of step S603, it performs a check at each interrupt timing to determine whether a new operation pattern has been selected based on the performance scenario data and the performance scenario timer. If, as a result of this check at each interrupt timing, it is determined that a new operation pattern has been selected, then as the process of step S603 at subsequent timer interrupt timings, CPU 41a performs the same processing as described above for the newly selected operation pattern based on the segmental operation management data D2.
[0359] Figure 34 is a flowchart showing the SOL·MOT output processing in step S604 of the timer interrupt processing on the performance control side. The process shown in Figure 34 is not executed when the selected segment operation is a waiting operation such as "B01_No1_wait", but is executed in response to when the selected segment operation is an operation as an action part such as "B01_No1" or "B01_No2". Furthermore, if the moving part defines the movement of multiple axes, the process shown in Figure 34 is executed for each axis.
[0360] In the SOL·MOT output processing in step S604, the CPU 41a first performs the process of obtaining the value of the drive status register in step S701. That is, it queries the motor drive control unit 51 for the drive status value SRUN for the target axis and obtains the drive status value SRUN.
[0361] In step S702, following step S701, the CPU 41a determines whether the drive is stopped or not. In this example, it determines whether the acquired drive status value SRUN is "0".
[0362] In step S702, if it is determined that the drive has stopped, the CPU 41a proceeds to step S703 to perform register initialization processing, that is, it instructs the motor drive control unit 51 to initialize the register of the target axis in the motor drive control unit 51, and in the following step S704, it performs reception / transmission permission processing. That is, it performs processing to permit the reception of data from the motor drive control unit 51 and the transmission of data to the motor drive control unit 51.
[0363] Then, in step S705 following step S704, the CPU 41a performs control command transmission processing. As can be understood from the above explanation, when the selected segment operation is an operation as an operating part, and the motor drive control unit 51 is in a drive-stopped state (step S702: Yes), that is, in the state immediately before the start of the operation as an operating part, the name information corresponding to the operating part is identified from the segment operation management data D2 in the movable body part operation update processing of step S603. In the control command transmission process of step S705, based on the identified name information, 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 sent to the motor drive control unit 51 according to the identified source code.
[0364] In response to executing the control command transmission process in step S705, CPU 41a proceeds to step S708 to perform the receive / transmission prohibition process, that is, the process of prohibiting the reception of data from the motor drive control unit 51 and the transmission of data to the motor drive control unit 51, and then completes the SOL / MOT output process in step S604.
[0365] Furthermore, if the CPU 41a determines in step S702 that the drive is not stopped, it proceeds to step S706 to determine whether the scheduled stop time has elapsed. Specifically, it determines whether the value of the scheduled stop time timer mentioned above is less than "0".
[0366] If it is determined in step S706 that the scheduled stop time has not elapsed, the CPU 41a completes the SOL·MOT output processing in step S604.
[0367] On the other hand, if the CPU 41a determines in step S706 that the scheduled stop time has elapsed, it proceeds to step S707 and executes the scenario termination process. That is, it performs a process to forcibly stop the operation of the movable mechanism 50 defined in the currently executing sub-scenario (operation pattern). This allows for a fail-safe process to be implemented to forcibly stop the operation if any abnormality occurs in the motor drive control unit 51 and the operation being performed does not finish within the scheduled time. Since the motor drive control unit 51 used in this embodiment does not have a fail-safe function, fail-safe operation is achieved by monitoring for timeouts through processing by the CPU 41a.
[0368] If CPU 41a has completed the scenario termination process in step S707, it will perform the receive / transmit disable process in step S708 as described earlier, and then complete the SOL / MOT output process in step S604.
[0369] Furthermore, for operating parts defined to operate in a sensor input stop mode, it is also possible to omit the operation type = wait for drive control unit operation to finish row as exemplified in Figure 31, and to omit the determination process in step S706.
[0370] In this embodiment, as described above, if the selected operation is an operation of an operating part, the motor drive control unit 51 is inquired about the drive control status for each timer interrupt in steps S701 and S702 to determine whether the operation of the mechanism as an operating part has been completed. Then, in step S705, after it is determined that the operation of the mechanism as an operating part has been completed, the control command output process for the next mechanism operation is performed.
[0371] This prevents the next control command Cd from being output incorrectly before the operation of the moving part is complete, thereby enabling proper control of the mechanism's operation.
[0372] (6.4.2 About Microstepping Drives) As mentioned above, in conventional motor control systems, the CPU 41a output control data to the motor driver at a 1ms cycle, making it practically impossible to implement microstepping in terms of operating speed. In this embodiment, unlike conventional configurations in which the CPU 41a directly outputs control data to the motor driver, the motor drive control unit 51 and motor driver group 52 are designed to support microstepping, making it possible to drive the mechanism motor in microstepping mode (i.e., to move the movable mechanism 50 more smoothly).
[0373] However, when the motor is driven using microstepping, it becomes uncertain which excitation phase state the motor operation (rotation) ended in, and the motor operation may end in an intermediate excitation phase state between the reference excitation phases (reference step positions). If stop excitation is applied in that state, there is a risk that the motor will not be able to be stopped and held.
[0374] Therefore, in this embodiment, when the motor for the special feature is driven in microstep mode and then stopped, the CPU 41a instructs the motor drive control unit 51 to switch the drive mode of the motor driver from microstep mode to two-phase excitation mode and rotate it for one step. This ensures that the stop excitation of the mechanism motor is performed appropriately, and that the stop holding of the mechanism motor, i.e., the stop holding of the movable mechanism 50, is performed appropriately.
[0375] Here, the switching of the drive mode to the two-phase excitation drive mode and the instruction to rotate for one step after the microstepping drive described above can be achieved by writing a control command Cd for the corresponding operating part in the control command management data D3, which instructs the switching of the drive mode to the two-phase excitation drive mode and the rotation for one step after the microstepping drive.
[0376] Furthermore, the control performed by the motor drive control unit 51 on the motor driver in response to the above-mentioned drive mode switching instructions will be explained again with reference to Figure 35.
[0377] (6.4.3 Regarding the use of pre-registers) As shown in Figure 27 above, the motor drive control unit 51 in this embodiment has a pre-resistor unit 74. The pre-registers in the pre-register section 74 are registers provided to allow pre-setting of control commands Cd to realize subsequent operations when it is desired to execute a subsequent operation after the execution of an operation according to a control command Cd set in the registers in the register section 73. If a control command Cd is pre-set 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 will be slid into the register of the register section 73, and the next operation will begin.
[0378] By using such pre-registers, the motor drive control unit 51 can start controlling the next motor operation without depending on the timer interrupt period of the CPU 41a (1ms period in this example), that is, without creating a 1ms gap.
[0379] However, since the motor drive control unit 51 used in this embodiment does not have a fail-safe function, if a pre-register is used, there is an inconvenience that the control of the next motor operation will be executed even if the previous operation set in the register unit 73 results in an error.
[0380] Therefore, in this embodiment, the motor operation control for the special feature basically does not use a pre-register (i.e., only the register section 73 is used), and the motor operation control for the special feature uses a pre-register only for a certain series of operations.
[0381] Specifically, pre-register-based motor operation control is employed only for a series of operations that change the rotation speed of the motor midway, such as a series of operations that decelerate once it reaches the position sensor. If a method were adopted in which control commands Cd corresponding to the operation before the speed change and control commands Cd corresponding to the operation after the speed change were set in the register section 73 using time division, a 1ms gap would occur when the speed changes, which could cause the motor to lose synchronism. For this reason, the "operation until the sensor is reached" and the "deceleration operation after the sensor is reached" are set in the register section 73 and the pre-register section 74, respectively. In this case, the aforementioned scheduled stop time timer will be set to a value equivalent to the total time of the "operation until the sensor is reached" and the "deceleration operation after the sensor is reached," and the scheduled end time of the latter operation will be confirmed by timer interrupt processing (step S702).
[0382] When using pre-registers, in the segmented operation management data D2 shown in Figure 31, rows for operation type = drive control unit operation should be set consecutively, and information about the part name that defines the operation corresponding to those rows should be written. When there are consecutive rows of operation types = drive control unit operation, the CPU 41a instructs the motor drive control unit 51 to set the control command Cd identified by the part name of one row (e.g., the preceding row) in the register section 73, and also instructs the motor drive control unit 51 to set the control command Cd identified by the part name of the other row (e.g., the following row) in the pre-register section 74.
[0383] [6.5 Current value switching as an embodiment, and measures to prevent motor malfunction during startup] Figure 35 is a circuit block diagram showing an example of the configuration of the 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, along with the performance control board 41. Furthermore, Figure 35 shows only the circuit configuration for the X-axis of the motor drive control unit 51.
[0384] Here, we show the pulse signal output terminal OUTx, which is the output terminal for the X-axis OUT signal (OUTx signal), the rotation direction output terminal DIRx, which is the output terminal for the X-axis DIR signal (DIRx signal), and the general-purpose input / output terminals P0x, P1x, P2x, and P3x, which are the general-purpose input / output terminals P0, P1, P2, and P3 of the X-axis.
[0385] In the figure, the motor driver 52x and the mechanism motor 53x represent the X-axis motor driver in the motor driver group 52 and the X-axis mechanism motor in the mechanism motor group 53, respectively, and the position sensor 55x represents the position sensor provided for the movable mechanism 50x in the position sensor group 55.
[0386] 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 the buffer 91x.
[0387] 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. Furthermore, the motor driver 52x has a total of four output terminals, each with two polarities (positive and negative) for the A phase and B phase, which serve as output terminals for the drive current (motor drive current) to the bonus motor 53x. Furthermore, the motor driver 52x has an ENABLE terminal to which the ENABLE signal is input, and a Vref terminal which is the input terminal for the reference voltage Vref.
[0388] The motor driver 52x is configured to output a motor drive current to the component motor 53x with a current value corresponding to the reference voltage Vref input to the Vref terminal when the ENABLE signal is ON. At this time, the motor drive current output is a current with polarity corresponding to the DIRx signal input to the rotation direction input terminal. Furthermore, when the OUTx signal is input to the clock terminal, the motor driver 52x outputs a motor drive current having a pulse waveform with a period corresponding to the period of the OUTx signal.
[0389] Here, the motor driver 52y, which will be described later, has the same terminals as the motor driver 52x and outputs motor drive current in the same way as the motor driver 52x in response to the input ENEBLE signal, reference voltage Vref, DIR signal, and OUT signal.
[0390] Furthermore, in this embodiment, each motor driver in the motor driver group 52 is configured to be switchable between at least a two-phase excitation drive mode and a microstep drive mode as the drive mode for the special feature motor. As shown in the figure, the motor driver 52x has three terminals, DMODE0, DMODE1, and DMODE2, as drive mode terminals for receiving instructions to switch drive modes.
[0391] Figure 36 shows the correspondence between the input value to the drive mode terminal and the drive mode. As can be seen from this diagram, in this example, the motor driver 52x sets its drive mode to the 2-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 microstep drive mode, which is the 2W1-2 phase excitation drive mode, in response to inputs of DMODE0 terminal = H level, DMODE1 terminal = L level, and DMODE2 terminal = H level.
[0392] In Figure 35, as shown, the input signal to the DMODE1 terminal is fixed at an L level, and the input signal to the DMODE2 terminal is fixed at an H level. Therefore, in the motor driver 52x in this example, it is possible to switch between two-phase excitation drive mode and microstep drive mode by switching the input signal level to the DMODE0 terminal between an L level and an H level.
[0393] When the motor drive control unit 51 receives a control command Cd from the performance control board 41 to specify the drive mode of the special effect motor, it outputs a drive mode control signal to the motor driver to set the specified drive mode. Specifically, in this example, the motor drive control unit 51 (command register control circuit 72) generates and outputs a drive mode control signal at the L level when the 2-phase excitation drive mode is instructed by the control command Cd from the performance control board 41, and generates and outputs a drive mode control signal at the H level when the microstep drive mode is instructed. In the motor drive control unit 51 of this example, the drive mode control signal is output from one of the general-purpose input / output terminals P0 to P3 mentioned above. Specifically, in the motor drive control unit 51 of this example, the general-purpose input / output terminal P1 is configured to be the output terminal for the drive mode control signal.
[0394] As shown in the figure, the DMODE0 terminal of the motor driver 52x receives the above-mentioned drive mode control signal from the general-purpose input / output terminal P1x of the motor drive control unit 51. This allows the motor driver 52x to appropriately switch between two-phase excitation drive mode and microstep drive mode in response to the drive mode instruction by the control command Cd.
[0395] In the conventional gaming machine described in Figure 25 above, motor drivers 52x and 52y were used, configured to switch the motor drive current value in predetermined steps (for example, 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 mentioned above: for example, about 100mA) and a strong current (the drive current value mentioned above: for example, about 470mA) by configuring the register settings of the driver. To clarify, the switching between the weak and strong currents for the motor drive should occur at the start timing of the motor's operation (weak current → strong current) and the end timing of its operation (strong current → weak current).
[0396] In the gaming machine 1 of this embodiment, the motor driver 52x (and the motor driver 52y) employs a driver that does not have a current value switching function by register setting as described above, and therefore it is necessary to adopt a new motor drive current value switching method that replaces the conventional method described above.
[0397] In this embodiment, a configuration is adopted in which the motor drive current value is switched using the Vref terminal provided on the motor driver 52x. Specifically, the motor drive current value is switched using the switching circuit 92x shown in the figure.
[0398] As shown in the figure, the output signal of the general-purpose input / output terminal P3x in the motor drive control unit 51 is input to the switching circuit 92x. As mentioned above, in this embodiment, the general-purpose input / output terminal P3 is assigned to the output of the current up / down signal CDWN, so the current up / down signal CDWN is provided as the input signal to the switching circuit 92x.
[0399] The switching circuit 92x is configured as a variable voltage divider circuit that takes a predetermined level of power supply voltage (DC 5V power supply voltage in this example) as the 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 as the switching element Q1. The collector of the switching element Q1 is connected to a 5V DC power supply via resistor R1, and the emitter is grounded via resistor R2. In addition, resistor R3 is connected in parallel with resistor R1 to the 5V DC power supply, and the end of resistor R3 opposite to the connection point with the 5V DC 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 the general-purpose input / output terminal P3x of the motor drive control unit 51. This allows the current up / down signal CDWN to be applied as the ON / OFF control signal for the switching element Q1. In the switching circuit 92x, the connection point between resistors R3 and R2 becomes the voltage divider output point, and this voltage divider output point is connected to the Vref terminal of the motor driver 52x. In other words, the voltage output by the voltage divider output of the switching circuit 92x is provided as the reference voltage Vref of the motor driver 52x.
[0400] In the switching circuit 92x with 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 divider output point is expressed as "Vd = R3 / (R3 + R2) × 5V". On the other hand, when the current up / down signal CDWN is at the H level (ON level), the switching element Q1 is turned ON, and the voltage at the voltage divider output point is 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 the H level can be expressed as "R0 / (R0 + R2) × 5V". In this case, since R3 > R0, 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.
[0401] As described above, the motor driver 52x is configured to output a motor drive current to the component motor 53x that corresponds to a current value corresponding to the reference voltage Vref input to the Vref terminal. Therefore, through 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 a low level, and a strong current as the motor drive current when the current up / down signal CDWN is at a high level.
[0402] As described above, in this embodiment, the switching between weak and strong motor drive currents is performed by the motor drive control unit 51 controlling the switching circuit 92x. In other words, in order 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 method. Therefore, the processing load on the CPU 41a related to the control of the movable mechanism 50 can be reduced, and the burden of software creation work related to said control can also be reduced.
[0403] Figure 37 illustrates how the motor drive current value is switched in response to the current up / down signal CDWN. As explained with reference to Figure 28 above, at the timing (CSTA) when the start command from the performance control board 41 instructs the start of driving the gimmick motor 53x, the current up-down signal CDWN changes from the OFF level (L level) to the ON level (H level). Due to the operation of the switching circuit 92x described above, in response to this change in the current up-down signal CDWN from the OFF level to the ON level, the current value of the motor drive current supplied from the motor driver 52x to the gimmick motor 53x gradually changes from a weak current to a strong current. As mentioned above, the current up period ensures a sufficient period to increase the motor drive current value to a strong current (driving current value).
[0404] Furthermore, the current up / down signal CDWN changes from the ON level to the OFF level depending on the timing of the OUTx signal pulse output stopping and a predetermined current down period has elapsed. In response to this change in the current up / down signal CDWN from the ON level to the OFF level, the operation of the switching circuit 92x described above causes the motor drive current value from the motor driver 52x to the component motor 53x to gradually decrease from a high current value to a low current value. As mentioned earlier, the current down period ensures that there is sufficient time for the motor 53x to stop completely.
[0405] In the example above, a current up / down signal CDWN was used as the signal input to the switching circuit 92x for switching between weak and strong current. However, other signals can be used as long as their values are reversed at the start and end timings of the motor's operation. In this context, "timing" in "start timing" and "end timing" does not refer only to a precise "point in time," but rather to a concept that encompasses a certain period of time.
[0406] In Figure 35, the ENABLE control circuit 93x controls the level of the ENABLE signal input to the motor driver 52x.
[0407] However, if the motor drive control unit 51 is configured to control the ON / OFF state of the ENABLE signal of the motor driver 52x, the level of the ENABLE signal will be undefined when the motor drive control unit 51 is started, which may cause the bonus motor 53x to malfunction. Therefore, in this embodiment, an ENABLE control circuit 93x is provided to address this issue.
[0408] As shown in the figure, the ENABLE control circuit 93x is composed of resistors R4, R5, R6, and a switching element Q2. In this example, an N-type FET (FET) is used for the switching element Q2. The gate of the switching element Q2 is connected to the 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 predetermined level of power supply voltage (DC 5V in this example) via resistor R4. The drain of the switching element Q2 is connected to a predetermined level of power supply voltage (DC 5V in this example) via resistor R5, and its source is grounded. The connection point between the drain of switching element Q2 and resistor R5 is connected to the ENABLE terminal of motor driver 52x via resistor R6.
[0409] In this embodiment, the motor drive control unit 51 can set the signal assignment for the general-purpose input / output terminals P0 to P3 to either a fixed H level output or a fixed L level (ground) output using the control command Cd. In this example, when the motor drive control unit 51 is started, the performance control board 41 uses a control command Cd 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 to an L level when it starts up.
[0410] When the motor drive control unit 51 is in a state before startup, or immediately after startup, and the signal level of the general-purpose input / output terminal P2x is not at an L level (ground level), the ENABLE control circuit 93x has the gate of the switching element Q2 connected to the power supply voltage, so 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 motor drive control unit 51 is activated and the signal level of the general-purpose input / output terminal P2x becomes L level, the ENABLE control circuit 93x turns off the switching element Q2, and consequently outputs an H level (ON level) signal as the ENABLE signal.
[0411] In this way, it is possible to prevent the ENABLE signal from being turned ON before the motor drive control unit 51 is started. In other words, it is possible to prevent malfunctions of the bonus motor 53x caused by an undefined level of the ENABLE signal when the motor drive control unit 51 is started.
[0412] [6.6 Measures to prevent parts from falling during startup] As explained with reference to Figures 3 and 4 above, in this embodiment, the movable component 50y of the Y-axis is a movable component 50 that is driven downward from the shielding position. In other words, it is a movable component 50 that has a range of motion below the shielding position.
[0413] In the case of a movable mechanism 50 whose range of motion is below the shielding position, if the last drive of the mechanism motor before the motor drive control unit 51 was started was in microstep drive mode, there is a risk that the mechanism may fall due to its own weight when the motor drive control unit 51 is started. Specifically, when the motor drive control unit 51 is started in this case, the ENABLE signal is turned ON, and a weak motor drive current is output from the motor driver to the mechanism motor. However, if the last drive mode before startup was in microstep drive mode, it becomes uncertain which excitation phase state the motor operation ended in. If the motor operation ended in an intermediate excitation phase state between the reference excitation phases (reference step positions), even if a weak motor drive current is applied, sufficient stopping force cannot be obtained, and as a result there is a risk that the movable mechanism 50 may fall due to its own weight.
[0414] Therefore, in this embodiment, a startup mode control circuit 94, as shown in Figure 38, is provided in the Y-axis motor control system. As can be seen by referring to Figure 38, in this example, the Y-axis motor control system also inputs the detection signal from the position sensor (55y) to the general-purpose input / output terminal P0 (P0y) via the buffer 91 (91y). Furthermore, a switching circuit 92y with the same circuit configuration as the aforementioned switching circuit 92x is provided to enable 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, by providing an ENABLE control circuit 93y with the same circuit configuration as the ENABLE control circuit 93x, malfunction of the mechanism motor 53y during startup is prevented, similar to the case of the X-axis.
[0415] As shown in the figure, the startup mode control circuit 94 has the same circuit configuration as the ENABLE control circuit 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, the motor drive control unit 51 also assigns the output of the drive mode control signal described above to the general-purpose input / output terminal P1 for the Y-axis. Therefore, when the motor drive control unit 51 is started, the drive mode control signal is output from the general-purpose input / output terminal P1y to the gate of the switching element Q2 in the startup mode control circuit 94. However, for the Y-axis drive mode control signal, it is assumed that the 2-phase excitation drive mode is at the H level and the microstep drive mode is at the L level.
[0416] Furthermore, 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 the resistor R6.
[0417] In this example, if the last drive of the bonus motor 53y was performed using microstepping drive mode, an L-level drive mode control signal is output in response to the startup of the motor drive control unit 51. However, the level of the drive mode control signal is also undefined during the period immediately after the motor drive control unit 51 starts up.
[0418] In the startup mode control circuit 94, when the motor drive control unit 51 is in a state before startup, or immediately after startup, and the signal level of the general-purpose input / output terminal P1y is not at an L level (ground level), the gate of the switching element Q2 is connected to the power supply voltage, so the switching element Q2 is in the ON state, and the output signal to the DMODE0 terminal is at an L level (OFF level). As shown in Figure 36 above, if the input signal level to the DMODE0 terminal is at an L level, the motor driver 52y will be instructed to use the two-phase excitation drive mode as the drive mode. Therefore, it is possible to prevent the movable component 50y from falling due to its own weight when the motor drive control unit 51 is started.
[0419] Here, if 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. Therefore, the motor driver 52y is instructed to enter the two-phase excitation drive mode. On the other hand, if 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, and an H level signal is input to the DMODE0 terminal, instructing the motor driver 52y to enter microstep drive mode. Thus, after the motor drive control unit 51 is started, the motor driver 52y is instructed to select an appropriate drive mode according to the drive mode control signal.
[0420] [6.7 Other Configuration Examples] The motor drive control unit 51 used in this embodiment has a self-reset function that responds to the occurrence of an abnormality or the like. However, the motor drive control unit 51 does not, by design, have a function to notify the outside that a self-reset has occurred.
[0421] Therefore, this paper proposes a method for the performance control board 41 to detect the self-reset of the motor drive control unit 51. Figure 39 is an explanatory diagram of a specific method, showing the performance control board 41 and the motor drive control unit 51. First, in this example, one of the general-purpose input / output terminals P in the motor drive control unit 51 is predetermined as the output terminal for the monitoring signal in this example. In the figure, an example is shown in which this output terminal for the monitoring signal is determined to be the general-purpose input / output terminal P1u in the U-axis circuit. As shown in the diagram, the general-purpose input / output terminal P1u, which serves as the output terminal for the monitoring signal, is connected to a predetermined level of power supply voltage via resistor R7.
[0422] In this case, the CPU 41a of the performance control board 41 performs the output setting of the general-purpose input / output terminal P1u as an initial setting process when the motor drive control unit 51 is started up. Specifically, it uses the control command Cd to assign the general-purpose input / output terminal P1u to a terminal with a fixed L level output.
[0423] Subsequently, the CPU 41a periodically queries the motor drive control unit 51 for the output value of the general-purpose input / output terminal P1u, for example, through a timer interrupt processing on the performance control side. At this time, if the motor drive control unit 51 is in the ON state (non-reset state), an "L level" is confirmed as the output value of the general-purpose input / output terminal P1u. On the other hand, when the motor drive control unit 51 is reset, the output value of the general-purpose input / output terminal P1u is pulled up by the power supply voltage connected to the resistor R7, becoming "H level".
[0424] Therefore, the CPU 41a can detect the self-reset of the motor drive control unit 51 by periodically querying the output value of the general-purpose input / output terminal P1u and determining whether the output value is at the "H level" for each query.
[0425] In this case, when the motor drive control unit 51 self-resets, the position of the movable mechanism 50 becomes uncertain, so it is conceivable that the CPU 41a calls and executes the process of returning the mechanism motor to its home position.
[0426] On the other hand, although the explanation is omitted, in this embodiment, the CPU 41a is configured to call and execute the process of returning the mechanism motor to its home position when variation starts and when waiting for customers begins.
[0427] However, assuming that the process of returning to the home position is performed at the start of the change and at the start of waiting for customers, if the system is designed to call the process of returning to the home position in response to the self-reset of the motor drive control unit 51, the number of times the system returns to the home position will increase unnecessarily.
[0428] Therefore, even if a self-reset of the motor drive control unit 51 is detected, it is conceivable to prevent the home position return process from being called. This reduces the number of times the system returns to its home position, thereby easing the processing load on the CPU 41a. To clarify, in this case, the process of returning to the home position is executed when the change starts or when waiting for a customer begins after the motor drive control unit 51 self-resets, so no practical problems arise.
[0429] <7. Variation> Although embodiments of the present invention have been described above, the present invention is not limited to the specific examples described herein, and can take various modified configurations. For example, although the above describes an example of applying the present invention to a pinball game machine, the present invention can be suitably applied to other game machines such as reel games, as long as they are game machines that perform motor control for driving movable parts.
[0430] Furthermore, although the above example shows two movable parts 50x and 50y being provided as the movable part 50, the number of movable parts 50 is not limited to two; at least one is sufficient.
[0431] Furthermore, although the above example shows that the motor drive control unit 51 can handle four drivers, the motor drive control unit 51 only needs to be configured to support at least one driver connection.
[0432] <8. Summary of Embodiments> As described above, the first gaming machine as an embodiment includes a motor provided as a power source for a performance feature, a driver that drives the motor, a drive control means that outputs a drive control signal which is a signal that instructs the driver on the driving mode of the motor, a performance control means that controls the output of the drive control signal by the drive control means according to a feature performance scenario data which is scenario data that manages the operation scenario of the performance feature, and a storage means that can be read by the performance control means. Furthermore, multiple sequences of mechanical actions to be performed by the mechanical device are defined as action parts, and the storage means stores control command management data for each defined action part, which manages control commands that instruct the drive control means to output drive control signals to realize the mechanical action of the action part. Furthermore, the performance control means performs a control command output process that reads a control command corresponding to one of the operating parts involved in the series of machine actions from the control command management data and outputs it to the drive control means when the state is reached in which a series of machine actions should be executed as the operation scenario based on the machine action scenario data progresses. In conventional gaming machines, the performance control means would output control signals to the driver to instruct the operation of the mechanism motor at a timer interrupt cycle, such as a 1ms cycle. This tended to increase the processing burden on the performance control means in order to control the operation of the mechanism. With the above configuration, in order to realize a series of operations of the mechanism, the performance control means no longer needs to output control signals to the driver at a timer interrupt cycle as in the conventional method. Therefore, the processing burden on the performance control means related to the drive control of the performance components can be reduced. In addition, the burden of software creation work related to the drive control of the performance components can be reduced.
[0433] The second gaming machine, as an embodiment, includes a motor provided as a power source for a performance feature, a driver that drives the motor, a drive control means that outputs a drive control signal which is a signal that instructs the driver on the driving mode of the motor, and a performance control means that controls the output of the drive control signal by the drive control means according to a feature performance scenario data which is scenario data that manages the operation scenario of the performance feature. The driver has a reference voltage terminal that accepts an external reference voltage input, and is configured such that the drive current output to the motor changes according to the level of the reference voltage input to the reference voltage terminal. Furthermore, the driver is equipped with a switching circuit located outside the driver that switches the level of the reference voltage input to the reference voltage terminal according to the value of the input signal. Furthermore, the drive control means outputs signals as input signals to the switching circuit, the values of which are inverted at the start and end timings of the motor drive, respectively. As a result, when the drive current value from the driver to the motor should be switched at both the start and end timings of motor operation, the switching of the drive current value is performed by the control of the switching circuit by the drive control means. In other words, in order to realize the switching of the drive current value, it is no longer necessary for the performance control means to directly instruct the driver to switch the drive current value, as in the conventional method. Therefore, the processing burden on the performance control means related to the drive control of the performance components can be reduced. In addition, the burden of software creation work related to the drive control of the performance components can be reduced.
[0434] Furthermore, in the second gaming machine as an embodiment, the drive control means has a current up / current down function for the drive current value, and is configured to output a current up / current down signal from a general-purpose output terminal upon instruction from the performance control means, and outputs the current up / current down signal to the switching circuit. As a result, the performance control means can be instructed to output a current up / current down signal from the general-purpose output terminal when the drive control means is started, and thereafter, the drive current value will be switched using the current up / current down function of the drive control means at the start and end timings of motor driving. Therefore, in order to achieve the switching of the drive current value, the performance control means no longer needs to directly instruct the driver to switch the drive current value, thereby reducing the processing burden on the performance control means related to the control of the performance elements, and also reducing the burden of software creation work related to said control.
[0435] The third gaming machine, as an embodiment, includes a motor provided as a power source for a performance feature, a driver that drives the motor, a drive control means that outputs a drive control signal, which is a signal that instructs the driver on the driving mode of the motor, and a performance control means that controls the output of the drive control signal by the drive control means according to a feature performance scenario data, which is scenario data that manages the operation scenario of the performance feature. Furthermore, the driver is capable of switching between two drive modes for the motor: a first drive mode that allows the motor to be driven using a two-phase excitation method, and a second drive mode that allows the motor to be driven using a microstepping method. Furthermore, the drive control means is capable of issuing instructions to the driver to switch drive modes based on instructions from the performance control means. Furthermore, when the motor is stopped after being driven in the second drive mode, the performance control means instructs the drive control means to switch the drive mode from the second drive mode to the first drive mode and rotate the motor by one step. By incorporating the above-described drive control means into the motor drive control system, it becomes unnecessary to adopt a configuration where the performance control means outputs control data to the driver at a timer interrupt cycle (e.g., a 1ms cycle), as in conventional systems. In this case, the time resolution of the motor control depends on the processing cycle of the drive control means, and not on the processing cycle of the performance control means, so the motor can be driven in microstep drive mode (i.e., the mechanical parts can be moved more smoothly). However, when the motor is driven using microstepping, it becomes uncertain which excitation phase state the motor operation (rotation) ends in, and the motor operation may end in an intermediate excitation phase state between the reference excitation phases (reference step positions). If stop excitation is applied in that state, there is a risk that the motor will not be able to be stopped and held. Therefore, when stopping the motor driven in the second drive mode (microstepping drive mode) as described above, the system switches to the first drive mode (two-phase excitation drive mode) and rotates for one step. This ensures that the motor is properly excited and stopped, and that the motor is properly stopped and held, i.e., that the performance equipment is properly stopped and held.
[0436] The fourth gaming machine as an embodiment includes a motor provided as a power source for a performance feature, a sensor for detecting the operating state of the performance feature, a driver for driving the motor, a drive control means for outputting a drive control signal, which is a signal that instructs the driver on the driving mode of the motor, and a performance control means for performing control related to the output of the drive control signal by the drive control means according to a feature performance scenario data, which is scenario data that manages the operation scenario of the performance feature. The drive control means has a signal input port for receiving detection signals from a sensor, and generates operating state information indicating the operating state of the performance device based on the input signal to the signal input port. Furthermore, the reception of operational status information from the drive control means by the performance control means, and the transmission of drive control signals from the performance control means to the drive control means, are performed via a common serial data communication system. Conventionally, in order to achieve both motor drive control by a performance control means and acquisition of operating status information of the mechanical device based on sensor signals, two communication systems were required for the performance control means: one for drive control signals to the driver and another for signal input from the sensors. In contrast, by configuring the gaming machine with the drive control means described above, the reception of operating status information of the game components from the drive control means and the transmission of drive control signals to the drive control means can be performed via a common serial data communication system. This allows the communication system of the performance control means, which enables both motor drive control by the performance control means and acquisition of operating status information of the game components based on sensor signals, to be consolidated into a single system. Therefore, it is possible to reduce the number of wires and thereby increase the flexibility of circuit layout.
[0437] The fifth gaming machine, as an embodiment, includes a motor provided as a power source for a performance feature, a driver that drives the motor, a drive control means that outputs a drive control signal which is a signal that instructs the driver on the driving mode of the motor, and a performance control means that controls the output of the drive control signal by the drive control means according to a feature performance scenario data which is scenario data that manages the operation scenario of the performance feature. Furthermore, the driver is capable of switching between a first drive mode, which allows the motor to be driven using a two-phase excitation method, and a second drive mode, which allows the motor to be driven using a microstepping method. It also has a mode signal input terminal that receives a mode instruction signal, which is an instruction signal for the drive mode. Furthermore, the system includes a startup mode control circuit that, when the drive control means is started, generates a mode instruction signal indicating a first drive mode based on the power supply voltage supplied from a predetermined power line and the output signal from a predetermined output terminal of the drive control means, and outputs it to the mode signal input terminal. With the above configuration, the drive mode at startup is always set to the first drive mode (two-phase excitation drive mode). Therefore, it is possible to prevent the visual effects from falling during startup. [Explanation of Symbols]
[0438] 1. Gaming machine 1. Gaming machine 41 Performance control board 41a CPU 41b ROM 50,50x,50y Movable Part 51 Motor drive control unit 52 Motor Driver Group 52x, 52y motor driver 53. Motor group for special features 53x, 53y Special Motor 54 Origin switch group 55 Position sensor group 55x, 55y position sensor 56 Handle Sensor Cd control command 71 I / F section 72 Command Register Control Circuit 73 Register section 74 Pre-register section 75 Start / Stop Control Circuit 76 Acceleration / Deceleration Pulse Generation Circuit 77 Multiplier frequency divider circuit 78 Output type conversion circuit 79 Remaining Pulse Counter 80 Current Up / Down Control Circuit 81 General-purpose input / output control circuit OUT pulse signal output terminal DIR rotation direction output terminal P0~P4 General-purpose input / output terminals D1 Special Feature Sub-Scenario Data D2 Classification Operation Management Data D3 Control Command Management Data Gs workspace Ad definition area Ar1 Target axis selection area Ar2 Settings Input Area b2 FL Speed Input Box b3 Acceleration period input box b4 HL Speed Input Box b5 Output pulse count input box b6 Deceleration Period Input Box p1,p2,p3 Operation section 91x, 91y buffer 92x, 92y switching circuit 93x, 93y ENABLE control circuit 94 Startup Mode Control Circuit
Claims
[Claim 1] A motor installed as the power source for the stage effects, A driver that drives the motor, A drive control means that outputs a drive control signal, which is a signal that instructs the driver on the driving mode of the motor, Performance control means that performs control related to the output of the drive control signal by the drive control means according to the performance scenario data, which is scenario data that manages the operation scenario of the performance device, It comprises a storage means that can be read by the aforementioned performance control means, Multiple sequences of mechanical actions to be performed by the aforementioned mechanical device are each defined as action parts. The aforementioned storage means includes: For each defined operating part, control command management data is stored which manages control commands that instruct the drive control means to output the drive control signal for realizing the operation of the operating part. The aforementioned performance control means is In response to the progress of the operation scenario based on the aforementioned mechanism performance scenario data, and the arrival of a state where the series of mechanism operations should be executed, the control command output process reads the control command corresponding to one of the operation parts related to the series of mechanism operations from the control command management data and outputs it to the drive control means. Gaming machine.
Citation Information
Patent Citations
Game machine
JP2009291425A
Game machine
JP2014128518A
Game machine
JP2016013332A
Game machine
JP2018143721A
Game machine
JP2022140964A