Gaming Machines

JP7633779B2Active Publication Date: 2025-02-20SANKYO CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2020143118
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-08-27
Publication Date
2025-02-20
Estimated Expiration
2040-08-27

Smart Images

  • Figure 0007633779000001
    Figure 0007633779000001
  • Figure 0007633779000002
    Figure 0007633779000002
  • Figure 0007633779000003
    Figure 0007633779000003
Patent Text Reader

Abstract

To provide a game machine improved in a control in which a program to be executed is switched.SOLUTION: A front register is used in basic processing, and a back register exchanged from the front register is used in interruption processing interrupted in the basic processing and executed. Moreover, whether the basic processing is executed or the interruption processing is executed, an IY register can be used, but the IY register is used in the interruption processing but not in the basic processing.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to gaming machines such as pachinko machines and slot machines. [Background technology]

[0002] One type of gaming machine that has been proposed is capable of executing a basic process that is repeatedly executed for each unit of play, and an interrupt process that interrupts the basic process at regular time intervals to perform processing (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2020-39538 A Summary of the Invention [Problem to be solved by the invention]

[0004] As with the gaming machine described in Patent Document 1, there is room for improvement in terms of data confusion in controlling switching of programs to be executed.

[0005] An object of the present invention is to provide a gaming machine with improved control over switching between executed programs. [Means for solving the problem]

[0006] The gaming machine of claim 1 comprises: In a gaming machine for playing a game, A program execution means for executing a program using a plurality of registers, The program includes a basic program and an interrupt program that is executed by interrupting the execution of the basic program, using a first register when executing the basic program; switching a register used when executing the interrupt program from the first register to the second register; returning the register used when terminating the interrupt program from the second register to the first register; After returning from the second register to the first register, the value of the second register is held until switching from the first register to the second register; when the second register is used in the interrupt program, after switching from the first register to the second register, a value is newly stored in the second register and used, regardless of a value stored in the second register; the plurality of registers includes a special register that can be used when executing the basic program and when executing the interrupt program, separately from the first register and the second register; The interrupt program is composed of a main program and a subprogram that is called and executed by the main program, The special register is The interrupt program In Used in the basic program figure, The interrupt program is not used in the main program of the interrupt program, but is used in a subprogram of the interrupt program. Amusement machine. It is characterized by the following. According to this feature, a basic program uses a first register, while an interrupt program that interrupts the basic program is being executed, the register used switches from the first register to the second register, and the multiple registers include a special register that can be used when executing both the basic program and the interrupt program, separate from the first and second registers; however, since the special register is used by the interrupt program and not by the basic program, it is possible to prevent confusion between the data stored in the special registers between the basic program and the interrupt program.

[0007] Furthermore, the present invention may have only the invention-specific matters described in the claims of the present invention, or may have the invention-specific matters described in the claims of the present invention as well as configurations other than the invention-specific matters. [Brief description of the drawings]

[0008] [Figure 1] 1 is a front view of a slot machine according to an embodiment of the present invention; [Diagram 2] FIG. 2 is a block diagram showing the configuration of a slot machine. [Diagram 3] FIG. 4 is a diagram showing a memory map of a ROM and a RAM of a main control unit. [Figure 4] FIG. 13 is a diagram showing the relationship between an internal capacity area and an external capacity area. [Diagram 5] FIG. 2 is a diagram for explaining a register; [Figure 6] 11 is a diagram for explaining the correspondence between various processes and each register. FIG. [Figure 7] FIG. 2 is a diagram for explaining the correspondence between basic processes and each register. [Figure 8] 10 is a diagram for explaining the correspondence between interrupt processing and each register; FIG. [Figure 9] FIG. 13 is a diagram for explaining a modified example of a register. [Figure 10] 13 is a diagram for explaining the correspondence between in-capacity processing, out-capacity processing, and a shared register in a modified example of the register. FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A gaming machine according to an embodiment of the present invention will be described below.

[0010] [Form 1] The gaming machine of type 1-1 is, In a gaming machine (slot machine 1) for playing games, A program execution means (main control unit 41) is provided for executing a program using a plurality of registers, Among the programs, the specific program (interrupt processing) is composed of a main program (main routine (interrupt)) and a subprogram (subroutine (interrupt)) that is called and executed from the main program, Among the plurality of registers, a predetermined register (IY register) is used in the subprogram (subroutine (interrupt)) and is not used in the main program (main routine (interrupt)). It is characterized by the following. According to this feature, the specific program is composed of a main program and a sub-program that is called and executed from the main program, and a specified register among the multiple registers is used by the sub-program and not by the main program, thereby preventing confusion of data stored in the specified register between the main program and the sub-program.

[0011] The gaming machine of form 1-2 is the gaming machine according to form 1-1, The subprogram (subroutine (interrupt)) includes a plurality of types of subprograms, The predetermined register (IY register) is used in any one of the plurality of types of subprograms. It is characterized by the following. According to this feature, it is possible to prevent data stored in a predetermined register from being mixed up between the main program and one of the multiple types of subprograms that uses the predetermined register.

[0012] The gaming machines of types 1-3 are as follows: In a gaming machine (slot machine 1) for playing games, A program execution means (main control unit 41) is provided for executing a program using a plurality of registers, Among the programs, the specific program (interrupt processing) is composed of a main program (main routine (interrupt)) and a subprogram (subroutine (interrupt)) that is called and executed from the main program, Among the plurality of registers, a specific register (D'E' register) is used in the main program (main routine (interrupt)) and is not used in the subprogram (subroutine (interrupt)). It is characterized by the following. According to this feature, the specific program is composed of a main program and a sub-program that is called and executed from the main program, and among the multiple registers, the specific register is used by the main program and not by the sub-program, thereby preventing confusion of data stored in the specific register between the main program and the sub-program.

[0013] The gaming machine of aspect 1-4 is the gaming machine according to aspect 1-3, The subprogram (subroutine (interrupt)) includes a plurality of types of subprograms, The specific register (D'E' register) is not used in any of the multiple types of subprograms. It is characterized by the following. According to this feature, it is possible to prevent data stored in the specific register from being mixed up between the main program and any type of subprogram.

[0014] The gaming machine of form 1-5 is a gaming machine according to any one of forms 1-1 to 1-4, The specific program is an interrupt program (interrupt process) that is executed when an interrupt occurs. It is characterized by the following. According to this feature, it is possible to prevent data stored in registers between the main program and the subprogram from becoming mixed up during execution of the interrupt program.

[0015] [Form 2] The gaming machine of type 2-1 is In a gaming machine (slot machine 1) for playing games, A program execution means (main control unit 41) is provided for executing a program using a plurality of registers, The program includes a basic program (basic processing) and an interrupt program (interrupt processing) that is executed by interrupting the execution of the basic program, When executing the basic program (basic process), a first register (table register) is used, A register to be used when executing the interrupt program (interrupt process) is switched from the first register (front register) to the second register (back register), returning the register used when terminating the interrupt program (interrupt process) from the second register (back register) to the first register (front register); the plurality of registers include a special register (IX register) that can be used when executing the basic program (basic processing) and when executing the interrupt program (interrupt processing) in addition to the first register (front register) and the second register (back register), The special register (IX register) is used in the basic program (basic processing) and is not used in the interrupt program (interrupt processing). It is characterized by the following. According to this feature, a basic program uses a first register, while an interrupt program that interrupts the basic program is being executed, the register used switches from the first register to the second register, and the multiple registers include a special register that can be used when executing both the basic program and the interrupt program, separate from the first and second registers. However, since the special register is used by the basic program and not by the interrupt program, it is possible to prevent confusion between the data stored in the special registers between the basic program and the interrupt program.

[0016] The gaming machine of aspect 2-2 is the gaming machine according to aspect 2-1, the plurality of registers include a plurality of shared registers (IX register, IY register) that can be used when executing the basic program (basic processing) and when executing the interrupt program (interrupt processing) in addition to the first register (front register) and the second register (back register), None of the shared registers including the special register (IX register) among the plurality of shared registers (IX register, IY register) is used in the interrupt program (interrupt process). It is characterized by the following. According to this feature, the multiple registers include multiple shared registers that can be used when executing both the basic program and the interrupt program, separate from the first and second registers, but none of the multiple shared registers, including the special registers, are used in the interrupt program, thereby preventing confusion of data stored in the shared registers, including the special registers, between the basic program and the interrupt program.

[0017] A gaming machine according to aspect 2-3 is a gaming machine according to aspect 2-1, the plurality of registers include a plurality of shared registers (IX register, IY register) that can be used when executing the basic program (basic processing) and when executing the interrupt program (interrupt processing) in addition to the first register (front register) and the second register (back register), At least the special register (IX register) among the plurality of shared registers (IX register, IY register) is not used in the second program (interrupt processing). It is characterized by the following. According to this feature, the multiple registers include multiple shared registers that can be used when executing both the basic program and the interrupt program, separate from the first and second registers, but at least the special registers among the multiple shared registers are not used in the interrupt program, thereby preventing confusion of data stored in at least the special registers between the basic program and the interrupt program.

[0018] The gaming machine of type 2-4 is In a gaming machine (slot machine 1) for playing games, A program execution means (main control unit 41) is provided for executing a program using a plurality of registers, The program includes a basic program (basic processing) and an interrupt program (interrupt processing) that is executed by interrupting the execution of the basic program, When executing the basic program (basic process), a first register (table register) is used, A register to be used when executing the interrupt program (interrupt process) is switched from the first register (front register) to the second register (back register), returning the register used when terminating the interrupt program (interrupt process) from the second register (back register) to the first register (front register); the plurality of registers include a special register (IY register) that can be used when executing the basic program (basic processing) and when executing the interrupt program (interrupt processing) in addition to the first register (front register) and the second register (back register); The special register (IY register) is used in the interrupt program (interrupt processing) and is not used in the basic program (basic processing). It is characterized by the following. According to this feature, a basic program uses a first register, while an interrupt program that interrupts the basic program is being executed, the register used switches from the first register to the second register, and the multiple registers include a special register that can be used when executing both the basic program and the interrupt program, separate from the first and second registers; however, since the special register is used by the interrupt program and not by the basic program, it is possible to prevent confusion between the data stored in the special registers between the basic program and the interrupt program.

[0019] A gaming machine according to aspect 2-5 is a gaming machine according to aspect 2-4, the plurality of registers include a plurality of shared registers (IX register, IY register) that can be used when executing the basic program (basic processing) and when executing the interrupt program (interrupt processing) in addition to the first register (front register) and the second register (back register); None of the multiple shared registers (IX register, IY register) including the special register (IY register) is used in the basic program (basic processing). It is characterized by the following. According to this feature, the multiple registers include multiple shared registers that can be used when executing both the basic program and the interrupt program, separate from the first and second registers, but none of the multiple shared registers, including the special registers, are used in the basic program, thereby preventing confusion of data stored in the shared registers, including the special registers, between the basic program and the interrupt program.

[0020] A gaming machine according to aspect 2-6 is a gaming machine according to aspect 2-4, the plurality of registers include a plurality of shared registers (IX register, IY register) that can be used when executing the basic program (basic processing) and when executing the interrupt program (interrupt processing) in addition to the first register (front register) and the second register (back register); Among the multiple shared registers (IX register, IY register), at least the special register (IY register) is not used in the basic program (basic processing). It is characterized by the following. According to this feature, the multiple registers include multiple shared registers that can be used when executing both the basic program and the interrupt program, separate from the first and second registers, but at least the special registers among the multiple shared registers are not used in the basic program, thereby preventing confusion of data stored in at least the special registers between the basic program and the interrupt program.

[0021] A gaming machine according to aspect 2-7 is a gaming machine according to any one of aspects 2-1 to 2-6, A value is set in the second register (back register) when the interrupt program (interrupt process) is executed. It is characterized by the following. According to this feature, when an interrupt program is executed, a new value is set instead of the value originally stored in the second register, thereby preventing the interrupt program from being executed with an unintended value.

[0022] [Form 3] The gaming machine of type 3-1 is In a gaming machine (slot machine 1) for playing games, A program execution means (main control unit 41) is provided for executing a program using a plurality of registers, The programs include a first program (a program within the capacity (a processing within the capacity)) and a second program (a program outside the capacity (a processing outside the capacity)) that is called and executed by the first program, When the second program (out-of-capacity program (out-of-capacity processing)) is executed, data of the plurality of registers is saved, and when the second program (out-of-capacity program (out-of-capacity processing)) is terminated, the saved data of the plurality of registers is restored; When the first program (in-memory program (in-memory processing)) is executed, a specific number of the plurality of registers are used; When the second program (out-of-capacity program (out-of-capacity processing)) is executed, a number of registers among the plurality of registers that is less than the specific number (a part of the registers used by the in-capacity program (in-capacity processing)) are used. It is characterized by the following. According to this feature, when the second program is executed, data in multiple registers is saved, and when the second program is terminated, the saved data in multiple registers is restored; and since fewer registers are used when the second program is executed than when the first program is executed, it is possible to prevent the second program from using erroneous data.

[0023] The gaming machine of aspect 3-2 is the gaming machine according to aspect 3-1, The first program (in-capacity program (in-capacity processing)) includes a first specific program (in-capacity processing (basic processing)) and a first predetermined program (in-capacity processing (interrupt processing)), The second program (out-of-capacity program (out-of-capacity processing)) includes a second specific program (out-of-capacity processing (basic processing)) that is called and executed from the first specific program (in-capacity processing (basic processing)), and a second predetermined program (out-of-capacity processing (interrupt processing)) that is called and executed from the first predetermined program (in-capacity processing (interrupt processing)), When the first specific program (in-capacity processing (basic processing)) is executed, a first specific number of registers among the plurality of registers are used; When executing the second specific program (out-of-capacity processing (basic processing)), a number of registers among the plurality of registers that is smaller than the first specific number (a part of the registers used by the out-of-capacity processing (basic processing)) are used, When executing the first predetermined program (interrupt processing), a second specific number of registers among the plurality of registers are used; When the second predetermined program (out-of-capacity processing (interrupt processing)) is executed, a number of registers among the plurality of registers that is smaller than the second specific number (a part of the registers used by the out-of-capacity processing (interrupt processing)) are used. It is characterized by the following. According to this feature, when the second specific program is executed, fewer registers are used than when the first specific program is executed, and when the second prescribed program is executed, fewer registers are used than when the first prescribed program is executed, thereby preventing the second specific program and the second prescribed program from using erroneous data.

[0024] [Form 4] The gaming machine of type 4-1 is In a gaming machine (slot machine 1) for playing games, A program execution means (main control unit 41) for executing a program; A stack area for saving data; Equipped with The programs include a first program (an in-capacity program (in-capacity processing)) and a second program (an out-of-capacity program (out-of-capacity processing)) that is called and executed by the first program, the stack area includes a first stack area (internal stack area) for saving data by the first program (internal program (internal processing)), and a second stack area (external stack area) for saving data by the second program (external program (external processing)); when executing the second program (out-of-capacity program (out-of-capacity processing)), a stack pointer indicating a data save address is switched from the first stack area (internal stack area) to the second stack area (out-of-capacity stack area), and when terminating the second program (out-of-capacity program (out-of-capacity processing)), the stack pointer is returned to the first stack area (internal stack area); When the second program (out-of-capacity program (out-of-capacity processing)) is terminated, all data saved in the second stack area (out-of-capacity stack area) during execution of the second program is restored. It is characterized by the following. According to this feature, when the second program is executed, the stack pointer is switched from the first stack area to the second stack area, and when the second program is terminated, the stack pointer is returned to the first stack area. Additionally, when the second program is terminated, all data that was saved in the second stack area during execution of the second program is restored and then the stack pointer is returned to the first stack area. This prevents the second program from being executed further while data used in the second program that was previously executed remains saved, and prevents confusion between data used in the second program that was previously executed and data to be used in the second program that is currently executed.

[0025] The gaming machine of aspect 4-2 is the gaming machine according to aspect 4-1, The second program (out-of-capacity program (out-of-capacity processing)) includes a plurality of types of second programs, When the second program is terminated, all data saved in the second stack area (extra-capacity stack area) during execution of the second program is restored, regardless of the type of the second program. It is characterized by the following. According to this feature, when terminating the second program, regardless of the type of second program, all data saved in the second stack area during execution of the second program is restored and then the stack pointer is returned to the first stack area. Therefore, regardless of the type of second program, it is possible to prevent confusion between data used in the second program executed previously and data to be used in the second program executed currently. EXAMPLES

[0026] An embodiment of a slot machine to which the present invention is applied will be described with reference to the drawings. As shown in Fig. 1, the slot machine 1 of this embodiment is composed of a cabinet 1a with an open front and a front door 1b pivotally supported on a side end of the cabinet 1a. Inside the slot machine 1, reels 2L, 2C, and 2R on which the same number of different types of symbols that can be distinguished from one another are arranged in a predetermined order are arranged in a horizontal direction, and as shown in Fig. 1, three consecutive symbols among the symbols arranged on these reels 2L, 2C, and 2R are displayed in three rows, top, middle, and bottom, in a see-through window 3 provided in the approximate center of the front of the slot machine 1 so that they can be seen from the player's side.

[0027] In this embodiment, a configuration using three reels is illustrated, but a configuration using only one reel, a configuration using two reels, or a configuration using four or more reels may be used. In this embodiment, the variable display unit that variably displays the symbols is configured by the reels 2L, 2C, and 2R, but the variable display unit may be something other than a reel, for example, a configuration that can variably display the symbols by moving a belt on which a plurality of symbols are arranged on the outer periphery. In this embodiment, the variable display unit is configured by a physical reel, but the variable display unit may be configured by an image display device such as a liquid crystal display.

[0028] On the front of the slot machine 1, as shown in FIG. 1, there are provided, each operable by the player, a medal insertion section 4 into which medals can be inserted, a medal payout outlet 9 from which medals are paid out, a MAXBET switch 6 which is operated to use credits (the number of medals stored as the gaming value owned by the player) to set the maximum bet number among a prescribed number of bets determined according to the gaming status within that range, a settlement switch 10 which is operated to settle the medals stored as credits and the medals used to set the bet number (return the medals used to set the credits and the bet number), a start switch 7 which is operated to start the game, stop switches 8L, 8C, 8R which are operated to stop the rotation of reels 2L, 2C, 2R, respectively, and a performance switch 56 which is used for performance.

[0029] On the front of the slot machine 1, as shown in FIG. 1, there is provided a game display unit 13 which is provided with a credit indicator 11 which displays the number of medals stored as credits, a game auxiliary indicator 12 which displays the number of medals paid out when a win occurs, an error code which indicates the content of an error when an error occurs, and operation information (navigation notification) corresponding to the operation mode of the stop switches 8L, 8C, and 8R, a 1BET LED 14 which lights up to indicate that the bet number is set to 1, a 2BET LED 15 which lights up to indicate that the bet number is set to 2, a 3BET LED 16 which lights up to indicate that the bet number is set to 3, a start valid LED 18 which lights up to indicate that the start operation of the game by operating the start switch 7 is valid, a zone indicator LED 19 which lights up to indicate that the game zone is controlled to an advantageous zone, and a replay in progress LED 20 which lights up to indicate that a replay game is in progress.

[0030] Inside the MAXBET switch 6 is a BET switch valid LED 21 (see Figure 2) which lights up to indicate that the operation of setting the bet amount by operating the MAXBET switch 6 is valid, and inside the stop switches 8L, 8C, 8R are respectively provided left, center and right stop valid LEDs 22L, 22C, 22R (see Figure 2) which light up to indicate that the operation of stopping the reels by the corresponding stop switches 8L, 8C, 8R is valid.

[0031] In addition, a liquid crystal display 51 capable of displaying images is provided on the front of the slot machine 1. The liquid crystal display 51 has a liquid crystal panel that is transparent when no voltage is applied to the liquid crystal element, and is provided so that a display area is located in front of the reels 2L, 2C, and 2R of the front door 1b (on the player side). The reels 2L, 2C, and 2R on the rear side of the liquid crystal display 51 can be viewed from the player side through the transparent area corresponding to the see-through window 3 and the see-through window 3 in the display area of ​​the liquid crystal display 51.

[0032] On the inside of the front door 1b of the slot machine 1, there are provided a reset switch 23 which detects a reset operation to release an error state from outside the slot machine 1 by operating a specified key, a setting value display 24 which displays the setting value at that time when the setting value is being changed or checked, a door open detection switch 25 which detects the open state of the front door 1b, a flow path switching solenoid 30 which selectively switches the flow path of the medal inserted from the medal insertion port 4 to either the hopper tank side or the medal payout outlet 9 side provided inside the slot machine 1, and a medal selector 29 having inserted medal sensors 31a-31c which detect medals inserted from the medal insertion port 4 and flowing down to the hopper tank side.

[0033] Also provided inside the slot machine 1 are a reel unit 34 for spinning and stopping the aforementioned reels 2L, 2C, and 2R in response to a control signal from the main control unit 41, and a hopper unit 35 for paying out medals from a medal payout outlet 9 in response to a control signal from the main control unit 41.

[0034] Also provided inside the slot machine 1 are a setting key switch 37 for switching between a setting change state and a setting confirmation state, a reset / setting switch 38 which functions as a reset switch for releasing an error state under normal circumstances and which functions as a setting switch for changing the set value of the winning probability (ball payout rate) of the internal lottery described below in the setting change state, and a power switch 39 which is operated to turn the power on and off.

[0035] Inside the slot machine 1, with the gaming control board 40 attached at a predetermined position inside the cabinet 1a, a gaming machine information display 50 consisting of a four-digit seven-segment display is disposed below the front side (player side) of the gaming control board 40 (not shown). With the gaming control board 40 sealed in a board case, the display contents of the gaming machine information display 50 can be seen from outside the board case, and the gaming machine information based on the game history of the slot machine 1, which is collected by the main control unit 41 and displayed on the gaming machine information display 50, can be recognized by a store clerk or the like.

[0036] As shown in FIG. 2, the slot machine 1 is provided with a game control board 40 and a presentation control board 90. The game is controlled by the game control board 40, and the presentation control board 90 controls the presentation according to the game status.

[0037] The game control board 40 is connected to the aforementioned MAXBET switch 6, start switch 7, stop switches 8L, 8C, 8R, settlement switch 10, reset switch 23, inserted medal sensors 31a to 31c, a reel sensor (not shown) of the reel unit 34, a payout sensor and a full tank sensor (not shown) of the hopper unit 35, a setting key switch 37, and a reset / setting switch 38, and detection signals from these connected switches etc. are input.

[0038] In addition, the game control board 40 is connected to the aforementioned credit display 11, game auxiliary display 12, 1-3 BET LEDs 14-16, start enable LED 18, section display LED 19, replay in progress LED 20, BET switch enable LED 21, left, middle, right stop enable LEDs 22L, 22C, 22R, setting value display 24, flow path switching solenoid 30, reel unit 34, and hopper unit 35, and these electrical components and the game machine information display 50 mounted on the game control board 40 are driven based on the control of a main control unit 41 mounted on the game control board 40 and described later.

[0039] In addition, a main control unit 41 that controls the game is mounted on the game control board 40. The main control unit 41 includes a CPU 41a for performing calculations, a ROM 41b in which programs and the like are stored, and a RAM 41c in which work data is temporarily stored, and performs various controls according to the programs stored in the ROM 41b.

[0040] The CPU 41a executes an instruction at an address specified by a program counter in the program stored in the ROM 41b. The program counter is incremented and updated each time an instruction is completed, so that the instructions stored in the ROM 41b are executed in order starting from the instruction at the address with the smallest value.

[0041] The main control unit 41 includes a plurality of registers used by the CPU 41a to perform arithmetic operations. The plurality of registers include an accumulator register (A register), a flag register (F register), general-purpose registers (B register, C register, D register, E register, H register, L register), an index register (IX register, IY register), an interrupt register (I register), a refresh register (R register), a stack pointer register (SP register), a program counter register (PC register), a transmission register, and other registers. Among these registers, the accumulator register, the flag register, and the general-purpose register each include a front register and a back register that are configured to be paired (hereinafter, the front register and the back register may be simply referred to as a register). The CPU 41a can update the value of a specified register or update a value (data) stored in a storage area of ​​the RAM 41c designated by the value (address) of a specified register by executing various instructions, such as an arithmetic instruction and a read instruction, included in a program.

[0042] In addition, the flag register among the registers provided in the main control unit 41 is configured so that its state changes to indicate the result of an operation performed by an instruction executed by the CPU 41a, and the change in the state of the flag register can be used to cause the CPU 41a to perform processing according to the result of an operation performed by the previous instruction.

[0043] In addition, the flag register is composed of multiple bits (8 bits in this embodiment), and the multiple bits include a first bit (hereinafter sometimes referred to as a zero flag) and a second bit (hereinafter sometimes referred to as a carry flag) whose state is changeable depending on the calculation result of the calculation instruction executed by the CPU 41a in order to reduce the processing burden on the CPU 41a.

[0044] In addition, the main control unit 41 transmits various commands to the sub-control unit 91. Commands transmitted from the main control unit 41 to the sub-control unit 91 are sent in only one direction, and no commands are sent from the sub-control unit 91 to the main control unit 41.

[0045] Furthermore, the main control unit 41 repeatedly loops processing according to the control state until the detection state of the various switches connected to the game control board 40 changes, and executes basic processing that transitions stepwise according to the change in the detection state of the various switches. The main control unit 41 also interrupts the basic processing and executes interrupt processing every time a timer interrupt occurs (about 0.56 milliseconds in this embodiment). The execution interval of the interrupt processing is set to a time longer than the combined time of the processing repeated according to the control state in the basic processing and the execution time of the interrupt processing, so that at least one cycle of the processing repeated according to the control state is always completed between the current and next interrupt processing.

[0046] In addition, the main control unit 41 can back up the values ​​of registers provided in the main control unit 41 by storing them in a predetermined order in a stack area of ​​RAM 41c indicated by a stack pointer SP, and can restore the states of the corresponding registers to the states when they were backed up by sequentially reading the register values ​​that were backed up in the stack area of ​​RAM 41c from the stack area in the reverse order to that in which they were backed up, and setting them in the registers corresponding to that order.

[0047] The performance control board 90 is connected to the aforementioned performance switch 56, and its detection signal is input. In addition, the performance control board 90 is connected to performance devices such as the aforementioned liquid crystal display 51, a speaker capable of outputting sound, and a performance LED 57 used for performance and visible to the player, and the output state of these performance devices can be controlled by a sub-controller 91 mounted on the performance control board 90. The sub-controller 91 receives commands sent from the main control unit 41 and detection signals from the performance switch 56, and performs various controls for producing performances.

[0048] The slot machine 1 of this embodiment is configured to change the medal payout rate according to the set value. In detail, the medal payout rate is changed by using the winning probability according to the set value in a lottery that affects the advantage of the player, such as an internal lottery or an AT lottery. The set value has six stages from 1 to 6, with 6 being the highest payout rate, and the payout rate decreasing as the value decreases in the order of 5, 4, 3, 2, and 1. In other words, when 6 is set as the set value, the advantage of the player is the highest, and the advantage decreases step by step as the value decreases in the order of 5, 4, 3, 2, and 1.

[0049] In order to change the set value, it is necessary to turn on the power switch 39 of the slot machine 1 after turning on the setting key switch 37. When the power is turned on with the setting key switch 37 in the ON state, the set value read from the RAM 41c is displayed as a display value on the setting value display 24, and the state transitions to a setting change state in which the set value can be changed by operating the reset / setting switch 38. When the reset / setting switch 38 is operated in the setting change state, the display value displayed on the setting value display 24 is updated by one (when the reset / setting switch 38 is operated again from the set value 6, it returns to the set value 1). Then, when the start switch 7 is operated, the display value is confirmed as the set value. Then, when the setting key switch 37 is turned off, the confirmed display value (set value) is stored in the RAM 41c of the main control unit 41, and the state transitions to a state in which the game can proceed.

[0050] The setting key switch 37 and the reset / setting switch 38 are provided inside the slot machine 1 and cannot be operated unless the front door 1b, which can be opened by a predetermined key operation, is opened, and only staff members of the game arcade in which the slot machine 1 is installed who possess a predetermined key can operate them. In particular, the setting key switch 37 requires a further key operation, and therefore only staff members of the game arcade who possess a key for operating the setting key switch 37 can operate them. The reset switch 23 does not require the front door 1b to be opened, but requires a key operation using a predetermined key, and therefore only staff members who possess the predetermined key can operate them. The reset / setting switch 38 also functions as a reset switch for canceling an error state under normal circumstances.

[0051] In the slot machine 1 of this embodiment, the main control unit 41 performs a power outage determination process to determine whether or not a voltage drop has been detected in the interrupt processing, and if it is determined in the power outage determination process that a voltage drop has been detected, executes a power outage process (main) to set data to determine whether or not the data in RAM 41c is normal at the time of the next recovery.

[0052] The main control unit 41 is capable of restoring the processing state of the main control unit 41 to the state before the power failure based on the data stored in the RAM 41c, provided that the data in the RAM 41c is normal at the time of startup. On the other hand, if the data in the RAM 41c is not normal at the time of startup, it is determined that a RAM abnormality has occurred, an error flag indicating a RAM abnormality is set in the RAM 41c, and the RAM abnormality error state is controlled to disable the progress of the game. The RAM abnormality error state is released by transitioning to a setting change state and setting a new setting value, and the progress of the game becomes possible.

[0053] In the slot machine 1 of this embodiment, when the main control unit 41 detects an abnormality during the game, it sets an error flag indicating the type of the detected abnormality in the RAM 41c, controls the state to a general error state, and disables the game from proceeding. The general error state is released by a reset operation using the reset switch 23 or the reset / setting switch 38, and the game can proceed. In the following, when there is no need to distinguish between the RAM abnormal error state and the general error state, they are simply called the error state.

[0054] When playing a game on the slot machine 1 of this embodiment, first, medals are inserted into the medal insertion section 4, or the MAXBET switch 6 is operated to set the number of bets using credits. When a specified number of bets determined according to the game state is set, a predetermined winning line LN (see FIG. 1, which is set across the symbols arranged horizontally in the middle row of the reels 2L, 2C, and 2R in this embodiment) becomes valid, and the operation of the start switch 7 becomes valid, that is, the game can be started. If medals are inserted in excess of the maximum number of the specified number corresponding to the game state, the amount is added to the credits. In this embodiment, only one winning line is applied, but multiple winning lines may be applied.

[0055] In this embodiment, in order to make it easier to recognize that a combination of symbols that constitute a win has been lined up on the win line LN, inactive lines LM1 to LM6 are set in addition to the win line LN. The inactive lines LM1 to LM6 are not used to determine whether a win has been achieved by the combination of symbols that have been lined up on these inactive lines LM1 to LM6, but are configured so that when a combination of symbols that constitute a win has been lined up on the win line LN, a combination of suggestive symbols that suggests a win (for example, bell a-bell a-bell a) is lined up on one of the inactive lines LM1 to LM6, making it easier to recognize that a combination of symbols that constitute a win has been lined up on the win line LN. In this embodiment, as shown in FIG. 1, six types of invalid lines are defined as invalid lines: an invalid line LM1 set across the symbols arranged horizontally on the upper row of reels 2L, 2C, and 2R, i.e., across the symbols arranged horizontally on the lower row of reels 2L, 2C, and 2R, an invalid line LM2 set across the symbols arranged horizontally on the lower row, an invalid line LM3 set across the symbols arranged downward to the right on the upper row of reel 2L, the middle row of reel 2C, and the lower row of reel 2R, i.e., across the symbols arranged upward to the right on the lower row of reel 2L, the middle row of reel 2C, and the upper row of reel 2R, an invalid line LM4 set across the symbols arranged upward to the right on the upper row of reel 2L, the middle row of reel 2C, and the upper row of reel 2R, i.e., across the symbols arranged in a small V shape, and an invalid line LM6 set across the symbols arranged in the lower row of reel 2L, the middle row of reel 2C, and the lower row of reel 2R, i.e., across the symbols arranged in a small mound shape.

[0056] When the start switch 7 is operated in a state in which the game can be started, each of the reels 2L, 2C, and 2R spins, and the symbols on each of the reels 2L, 2C, and 2R change continuously. When any of the stop switches 8L, 8C, and 8R are operated while the reels 2L, 2C, and 2R are spinning, stop control is performed on the corresponding reel 2L, 2C, and 2R, the spinning of that reel is stopped, and the symbol on that reel is derived and displayed as a display result in the see-through window 3.

[0057] In the stop control, within the maximum stop delay time (190 ms (milliseconds) in this embodiment) from when each stop switch is operated, control is performed to stop the rotation of the reels 2L, 2C, and 2R corresponding to the operation, and up to four frames of symbols can be drawn in before the maximum stop delay time (190 ms) has elapsed. In other words, in the stop control, it is possible to select one symbol from the symbols displayed when the stop switches 8L, 8C, and 8R are operated and the symbols four frames ahead from there, a total of five frames (draw-in range), and to lead it to the reels 2L, 2C, and 2R.

[0058] As a result, in the stop control, when the corresponding stop switches 8L, 8C, 8R for each reel 2L, 2C, 2R are operated to stop the rotation, if the pattern constituting the winning combination that has been won in the internal lottery described below is within a retraction range of up to four frames from the pattern when the stop switch is operated, the pattern is retracted onto the winning line LN and the rotation of the reel for which the stop switch is operated is stopped, while if the pattern constituting the winning combination that has been won in the internal lottery is not within the retraction range, a pattern that does not constitute any winning combination is retracted onto the winning line LN so that the patterns constituting winning combinations that have not been won in the internal lottery do not stop on the winning line LN, and the rotation of the reel for which the stop switch is operated is stopped.

[0059] [Main control unit memory area and programs] The main control unit 41 includes a ROM 41b having a memory area for storing predetermined programs and data, and a RAM 41c for temporarily storing data.

[0060] Fig. 3 is an address map of the program / data area in the ROM 41b and the available area in the RAM 41c. As shown in Fig. 3(a), the program / data area in the ROM 41b includes an in-capacity program area in which in-capacity programs for controlling the progress of a game are stored, an in-capacity data area in which in-capacity data used by the in-capacity programs are stored, an unused area 1, an out-capacity program area in which out-capacity programs for controlling the progress of a game not directly related to the progress of a game are stored, such as detecting errors, creating test signals, and displaying information on the gaming machine such as payout rates, an out-capacity data area in which out-capacity data used by the out-capacity programs are stored, and an unused area 2.

[0061] In addition, the progress of a game means the progress of a series of processes that make up a game, and in the case of a slot machine, it means the progress of a stage in which a bet amount is set to enable the game to start, a stage in which the game is started and the reels are rotated, a stage in which the reels are stopped and a display result is derived, and a stage in which a value such as a medal is awarded according to the display result. In the case of a pachinko game machine, it means the progress of a stage in which a start winning is determined, a stage in which a variable display is started, a stage in which a variable display is stopped, and a stage in which a game state is changed.

[0062] Hereinafter, the processing performed by the in-capacity program may be referred to as in-capacity processing, and the processing performed by the out-capacity program may be referred to as in-capacity processing.

[0063] 3(b), the available area of ​​the RAM 41c includes an internal RAM area used as a work area by internal programs, an external RAM area used as a work area by external programs, and an unused area 4, the internal RAM area includes an internal work area, an unused area 3, and an internal stack area, and the external RAM area includes an external work area and an external stack area. Note that, although this embodiment is configured to have the internal stack area and the external stack area in separate areas, a configuration may be adopted in which a single stack area is provided that is shared by the internal programs and the external programs.

[0064] The internal stack area is an area where the internal program temporarily saves data, and when the internal program saves data, the data is temporarily stored in an area at an address indicated by an internal stack pointer.

[0065] The out-of-capacity stack area is an area where an out-of-capacity program temporarily saves data, and when an out-of-capacity program saves data, the data is temporarily stored in an area at an address indicated by an out-of-capacity stack pointer.

[0066] The unused area 3 is an area that is not used by either the internal program or the external program, and is an area that is surplus to the internal RAM area of ​​a predetermined capacity.

[0067] The unused area 4 is an area of ​​16 bytes or more that is not used by either the internal or external programs. Since the internal RAM area and the external RAM area are allocated to non-contiguous areas sandwiching the unused area 4, the internal RAM area used by the internal programs related to the progress of the game and the external RAM area used by the external programs not related to the progress of the game can be easily identified according to the difference in memory area.

[0068] In the following, the internal program area, internal data area, and internal RAM area may be collectively referred to as the internal area, and the external program area, external data area, and external RAM area may be collectively referred to as the external area.

[0069] [Relationship between the area within capacity and the area outside capacity] As shown in FIG. 4, the CPU 41a of the main control unit 41 calls an out-of-capacity program during processing based on a program within capacity, executes processing based on the out-of-capacity program, and returns to processing based on the program within capacity after the processing based on the out-of-capacity program is completed.

[0070] 4, when the CPU 41a executes a process based on an internal program, it generally refers to the internal data in the internal data area to execute the process based on the internal program, and can use the internal RAM area as a work area to refer to and update the contents of the internal RAM area. Also, when the CPU 41a executes a process based on an external program, it generally refers to the external data in the external data area to execute the process based on the external program, and can use the external RAM area as a work area to refer to and update the contents of the external RAM area.

[0071] In addition, when executing processing based on an internal program, the CPU 41a does not update the external RAM area, but is able to refer to the external RAM area, and when executing processing based on an external program, the CPU 41a does not update the internal RAM area, but is able to refer to the internal RAM area.

[0072] [Register] The main control unit 41 includes a plurality of registers used by the main CPU 41a to perform calculations. The plurality of registers mainly includes a front register, a back register, and a common register. The front register and the back register are in a paired relationship, and when the front register is used, the back register cannot be used, and when the back register is used, the front register cannot be used. Furthermore, the back register can be used by inverting the front register, and the front register can be used by inverting the back register. Furthermore, the common register can be used when both the front register and the back register are used.

[0073] The table registers include the A register, F register, general-purpose registers (B register, C register (B register and C register are collectively called BC register), D register, E register (D register and E register are collectively called DE register), H register, L register (H register and L register are collectively called HL register)), and Q register. The A register and general-purpose registers store values ​​used in calculations, the F register stores flags according to the calculation results, and the Q register stores the higher address when specifying an address in a special instruction.

[0074] The back registers include the A' register, F' register, and general-purpose registers (B' register, C' register (B' register and C' register are collectively referred to as B'C' register), D' register, E' register (D' register and E' register are collectively referred to as D'E' register), H' register, and L' register (H' register and L' register are collectively referred to as H'L' register)) which are paired with the front registers A register, F register, and general-purpose register. The A' register and general-purpose registers store values ​​used in calculations, and the F' register stores flags according to the result of the calculation.

[0075] The common registers include the I register, R register, IX register, IY register, SP register, and PC register. The I register stores the upper address of the address (interrupt vector) to jump to when an interrupt occurs, the R register stores a value that counts the timing to refresh memory, the IX register and IY register store values ​​used in calculations, the SP register stores the value of the stack pointer for specifying the stack area, and the PC register stores the value of the program counter that indicates the address of the program being executed.

[0076] [Various processes executed by the main control unit] Next, there will be described various processes executed by the main control unit 41. As shown in Fig. 6, the main control unit 41 can execute basic processes and interrupt processes as processes for controlling the slot machine 1.

[0077] The basic processing is a process that repeatedly loops processing according to the control state until the control state changes, and is composed of a main routine (basic) and several types of subroutines (basic) called from the main routine (basic).

[0078] The main routine (basic) is a process that gradually transitions between multiple control states as the game progresses, and it is possible to call one of multiple types of subroutines (basic) depending on the progress of the program.

[0079] A subroutine (basic) starts by being called by the main routine (basic), and returns to the caller of the main routine (basic) when the subroutine (basic) ends.

[0080] As shown in FIG. 7, the basic process is made up of an in-capacity process (basic) by an in-capacity program and an out-of-capacity process (basic) by an out-of-capacity program.

[0081] The in-capacity process (basic) can call any type of out-of-capacity process (basic) from among a plurality of types of out-of-capacity process (basic) according to the progress of the program.

[0082] The out-of-capacity processing (basic) is started by being called by the in-capacity processing (basic), and when the out-of-capacity processing (basic) is terminated, the processing returns to the caller of the in-capacity processing (basic).

[0083] The out-of-capacity processing (basic) is made up of a main routine (out-of-capacity, basic) and a plurality of types of subroutines (out-of-capacity, basic) called from the main routine (out-of-capacity, basic).

[0084] The main routine (outside capacity, basic) can call any type of subroutine (outside capacity, basic) from among a plurality of types of subroutines (outside capacity, basic) according to the progress of the program.

[0085] A subroutine (out of capacity, basic) starts by being called by the main routine (out of capacity, basic), and returns to the caller of the main routine (out of capacity, basic) when the subroutine (out of capacity, basic) ends.

[0086] Interrupt processing is executed by interrupting the basic processing every time a timer interrupt occurs, and returns to the interrupt source of the basic processing when the interrupt processing is completed. It consists of a main routine (interrupt) and several types of subroutines (interrupts) called from the main routine (interrupt).

[0087] The main routine (interrupt) can call any one of a plurality of types of subroutines (interrupts) according to the progress of the program.

[0088] A subroutine (interrupt) starts by being called by a main routine (interrupt), and returns to the caller of the main routine (interrupt) when the subroutine (interrupt) ends.

[0089] As shown in FIG. 8, the interrupt processing is made up of an in-capacity processing (interrupt) by an in-capacity program and an out-capacity processing (interrupt) by an out-capacity program.

[0090] The in-capacity process (interrupt) can call any one of a plurality of types of out-of-capacity process (interrupt) according to the progress of the program.

[0091] An out-of-capacity process (interrupt) is started by being called by an in-capacity process (interrupt), and when the out-of-capacity process (interrupt) ends, the process returns to the caller of the in-capacity process (interrupt).

[0092] The out-of-capacity processing (interrupt) is made up of a main routine (out-of-capacity interrupt) and a number of types of subroutines (out-of-capacity interrupt) called from the main routine (out-of-capacity interrupt).

[0093] The main routine (out of capacity, interrupt) can call any one of a plurality of types of subroutines (out of capacity, interrupt) according to the progress of the program.

[0094] A subroutine (out of capacity, interrupt) starts by being called by the main routine (out of capacity, interrupt), and returns to the caller of the main routine (out of capacity, interrupt) when the subroutine (out of capacity, interrupt) ends.

[0095] [Registers used in basic processing and interrupt processing] Next, a register used by the main control unit 41 when executing basic processing and interrupt processing will be described.

[0096] As shown in Fig. 6, when executing the main routine (basic) in the basic processing, the main control unit 41 executes various processes using the table registers and the common registers. In more detail, the main routine (basic) uses the A register, F register, BC register, DE register, HL register, and Q register, that is, all the registers included in the table registers. Also, although the main routine (basic) can use all the registers included in the common registers, it uses the I register, R register, IX register, SP register, and PC register, and does not use the IY register.

[0097] Furthermore, when executing a subroutine (basic) in the basic process, the main control unit 41 executes various processes using the table registers and the common registers. More specifically, in the subroutine (basic), the A register, F register, BC register, DE register, HL register, and Q register are used among the table registers, i.e., all registers included in the table registers. Also, in the subroutine (basic), all registers included in the common registers can be used, but among them, the I register, R register, IX register, SP register, and PC register are used, and the IY register is not used.

[0098] As shown in FIG. 6, when a timer interrupt occurs during execution of a basic process and the main control unit 41 interrupts the basic process being executed and starts an interrupt process, the main control unit 41 first switches the register to be used from the front register to the back register.

[0099] When executing the main routine (interrupt) in the interrupt process, the main control unit 41 executes various processes using the back registers and the shared registers. More specifically, in the main routine (interrupt), the A' register, F' register, B'C' register, D'E' register, and H'L' register are used among the back registers, that is, all the registers included in the back registers. Also, in the main routine (interrupt), all the registers included in the shared registers can be used, but among them, the R register, SP register, and PC register are used, and the I register, IX register, and IY register are not used.

[0100] In addition, when the main control unit 41 switches the register to be used from the front register to the back register, the value of the back register used in the previous interrupt processing is stored, but in the current interrupt processing, the value of the back register used in the previous interrupt processing is not used, and the necessary value is stored in the back register again.

[0101] Furthermore, when executing a subroutine (interrupt) in interrupt processing, the main control unit 41 executes various processes using the back registers and the common registers. In detail, in a subroutine (interrupt), all registers included in the back registers can be used, but among them, the A' register, F' register, B'C' register, and H'L' register are used, and the D'E' register is not used. Also, in a subroutine (interrupt), all registers included in the common registers can be used, but among them, the R register, IY register, SP register, and PC register are used, and the I register and IX register are not used.

[0102] Furthermore, when the main routine (interrupt) in the interrupt process ends, the main control unit 41 switches the register to be used from the back register to the front register, and returns to the basic process that was being executed when the timer interrupt occurred.

[0103] In this embodiment, the front register is used in the basic process, and the back register replaced with the front register is used in the interrupt process that is executed by interrupting the basic process. The IY register can be used when the basic process is executed and when the interrupt process is executed, but the IY register is used in the interrupt process and not in the basic process, so that data stored in the IY register can be prevented from becoming mixed up between the basic process and the interrupt process.

[0104] Furthermore, in this embodiment, multiple registers consisting of the IX register and the IY register can be used both when basic processing is being executed and when interrupt processing is being executed. However, of the IX register and the IY register, the IX register is used for basic processing and the IY register is not used for basic processing, so that it is possible to prevent confusion between basic processing and interrupt processing of data stored in at least the IY register, of the multiple registers consisting of the IX register and the IY register.

[0105] In this embodiment, of the multiple registers consisting of the IX register and the IY register, the IX register is used in the basic processing; however, it is also possible to configure the multiple registers consisting of the IX register and the IY register so that none of them are used in the basic processing. With such a configuration, the IX register and the IY register, which can be used when executing both the basic processing and the interrupt processing, are not used in the basic processing, thereby preventing confusion of data stored in the multiple registers consisting of the IX register and the IY register between the basic processing and the interrupt processing.

[0106] In this embodiment, the front register is used in the basic process, and the back register replaced with the front register is used in the interrupt process that is executed by interrupting the basic process. The IX register can be used when the basic process is executed and when the interrupt process is executed, but since the IX register is used in the basic process and not in the interrupt process, it is possible to prevent the data stored in the IX register from becoming mixed up between the basic process and the interrupt process.

[0107] Furthermore, in this embodiment, multiple registers consisting of the IX register and the IY register can be used both when basic processing is being executed and when interrupt processing is being executed. However, of the IX register and the IY register, the IY register is used for interrupt processing and the IX register is not used for interrupt processing, so that it is possible to prevent confusion between basic processing and interrupt processing of data stored in at least the IX register, of the multiple registers consisting of the IX register and the IY register.

[0108] In this embodiment, of the multiple registers consisting of the IX register and the IY register, the IY register is used in interrupt processing; however, it is also possible to configure the multiple registers consisting of the IX register and the IY register so that none of them are used in interrupt processing. With such a configuration, the IX register and the IY register, which can be used when executing both basic processing and interrupt processing, are not used in interrupt processing, thereby preventing confusion of data stored in the multiple registers consisting of the IX register and the IY register between basic processing and interrupt processing.

[0109] Furthermore, in this embodiment, when executing an interrupt process, if the register used is switched from the front register to the back register, the value of the back register used in the previous interrupt process is stored; however, in the current interrupt process, the value of the back register used in the previous interrupt process is not used, and the necessary value is stored in the back register again, thereby preventing the interrupt process from being executed with an unintended value.

[0110] In this embodiment, the interrupt processing is composed of a main routine (interrupt) and a subroutine (interrupt) that is called and executed from the main routine (interrupt), and among the multiple registers used in the interrupt processing, the IY register is used in the subroutine (interrupt) and not in the main routine (interrupt), thereby preventing confusion of data stored in the IY register between the main routine (interrupt) and the subroutine (interrupt).

[0111] In addition, subroutines (interrupts) called from a main routine (interrupt) include multiple types of subroutines (interrupts), and the IY register is not used by all of the multiple types of subroutines (interrupts), but is used by one of the types of subroutines (interrupts). This makes it possible to prevent data stored in the IY register from being mixed up between the main routine (interrupt) and the subroutines (interrupts) that use the IY register.

[0112] In this embodiment, the IY register is configured to be used in some types of subroutines (interrupts), but it may also be configured to be used in all types of subroutines (interrupts). Even in this configuration, it is possible to prevent confusion of data stored in the IY register between the main routine (interrupt) and the subroutine (interrupt).

[0113] Furthermore, in this embodiment, the interrupt processing is composed of a main routine (interrupt) and a subroutine (interrupt) that is called and executed from the main routine (interrupt), and of the multiple registers used in the interrupt processing, the IY register is used in the subroutine (interrupt) and not used in the main routine (interrupt). However, it is also possible to configure a specific register among the multiple registers used in the basic processing to be used in the subroutine (basic) that constitutes the basic processing and not used in the main routine (basic). By configuring in this way, it is possible to prevent data stored in a specific register from becoming confused between the main routine (basic) and the subroutine (basic).

[0114] In this embodiment, the interrupt processing is composed of a main routine (interrupt) and a subroutine (interrupt) that is called and executed from the main routine (interrupt), and among the multiple registers used in the interrupt processing, the D'E' register is used in the main routine (interrupt) and not in the subroutine (interrupt), thereby preventing confusion of data stored in the D'E' register between the main routine (interrupt) and the subroutine (interrupt).

[0115] In addition, the subroutines (interrupts) called from the main routine (interrupt) include multiple types of subroutines (interrupts), and the D'E' register is not used in any of the types of subroutines (interrupts). This prevents data stored in the D'E' register from becoming mixed up between the main routine (interrupt) and any type of subroutine (interrupt).

[0116] In this embodiment, the D'E' register is configured not to be used in any type of subroutine (interrupt), but it may be configured not to be used in a specific type of subroutine (interrupt) and to be used in other types of subroutines (interrupts). Even in such a configuration, it is possible to prevent confusion of data stored in the D'E' register between the main routine (interrupt) and a specific type of subroutine (interrupt).

[0117] Furthermore, in this embodiment, the interrupt processing is composed of a main routine (interrupt) and a subroutine (interrupt) that is called and executed from the main routine (interrupt), and among the multiple registers used in the interrupt processing, the D'E' register is used in the main routine (interrupt) and not used in the subroutine (interrupt). However, among the multiple registers used in the basic processing, a specific register may be used in the main routine (basic) that constitutes the basic processing and not used in the subroutine (basic). By using such a configuration, it is possible to prevent confusion of data stored in a specific register between the main routine (basic) and the subroutine (basic).

[0118] [Registers used in on-capacity and off-capacity processing] Next, a description will be given of registers used by the main control unit 41 when performing in-capacity processing and out-capacity processing.

[0119] As shown in Fig. 7, when performing in-capacity processing (basic), the main control unit 41 executes various processes using the table registers and the common registers. In particular, in the in-capacity processing (basic), the A register, F register, BC register, DE register, HL register, and Q register are used among the table registers, that is, all registers included in the table registers. Also, in the in-capacity processing (basic), all registers included in the common registers can be used, but among them, the I register, R register, IX register, SP register, and PC register are used, and the IY register is not used.

[0120] As shown in FIG. 7, when executing the out-of-capacity processing (basic), the main control unit 41 calls the main routine (out-of-capacity / basic) from the in-capacity processing (basic).

[0121] When the main control unit 41 starts the main routine (external / basic), it first saves the value of the internal stack pointer stored in the SP register to a specified area in the external RAM area, and then stores a value indicating the 0th stage of the external stack area in the SP register. This switches the area for saving data from the internal stack area to the external stack area.

[0122] Thereafter, all values ​​in the table registers and the common registers are saved in a predetermined order to an area of ​​the extra stack area indicated by the extra stack pointer.

[0123] When executing the main routine (outside capacity, basic), the main control unit 41 executes various calculations using the table registers and the common registers. In more detail, in the main routine (outside capacity, basic), all the registers included in the table registers can be used, but among them, the A register, F register, BC register, HL register, and Q register are used, and the DE register is not used. Also, in the main routine (outside capacity, basic), all the registers included in the common registers can be used, but among them, the I register, R register, SP register, and PC register are used, and the IX register and IY register are not used.

[0124] Furthermore, the main control unit 41 executes a subroutine (outside capacity, basic) by calling the subroutine (outside capacity, basic) in the main routine (outside capacity, basic). At this time, the address of the caller is stored in an area of ​​the out-of-capacity stack area indicated by the value stored in the SP register. Also, in the subroutine (outside capacity, basic), data may be saved in the out-of-capacity stack area, and a maximum of N levels of the out-of-capacity stack area are used, and at this time, the out-of-capacity stack pointer stored in the SP register becomes a value indicating the Nth level area of ​​the out-of-capacity stack area.

[0125] As shown in Fig. 7, when executing a subroutine (outside capacity, basic), the main control unit 41 executes various processes using the table registers and the common registers. In more detail, in a subroutine (outside capacity, basic), all registers included in the table registers can be used, but among them, the A register, F register, BC register, HL register, and Q register are used, and the DE register is not used. Also, in a subroutine (outside capacity, basic), all registers included in the common registers can be used, but among them, the I register, R register, SP register, and PC register are used, and the IX register and IY register are not used.

[0126] As shown in FIG. 7, when the main control unit 41 ends the main routine (outside capacity / basic), it restores all the values ​​of the table registers and the common registers that were saved in the extra-capacity stack area. As a result, all the data saved in the extra-capacity stack area is restored, and the extra-capacity stack area becomes empty. After that, the main control unit 41 restores the value of the internal stack pointer that was saved in a specified area of ​​the extra-capacity RAM area to the SP register. As a result, the area for saving data is switched from the extra-capacity stack area to the internal stack area. Then, the main routine (outside capacity / basic) is terminated, and the process returns to the caller in the internal processing (basic).

[0127] As shown in Fig. 8, the main control unit 41 executes various processes using the back registers and the common registers when executing the in-capacity process (interrupt). More specifically, in the in-capacity process (interrupt), the A' register, F' register, B'C' register, D'E' register, and H'L' register are used among the back registers, that is, all the registers included in the back registers. Also, in the in-capacity process (interrupt), all the registers included in the common registers can be used, but among them, the R register, SP register, and PC register are used, and the I register, IX register, and IY register are not used.

[0128] As shown in FIG. 8, when performing out-of-capacity processing (interrupt), the main control unit 41 calls the main routine (out-of-capacity interrupt) from the in-capacity processing (interrupt).

[0129] When the main control unit 41 starts the main routine (external RAM interrupt), it first saves the value of the internal stack pointer stored in the SP register to a specified area in the external RAM area, and then stores a value indicating the 0th stage of the external stack area in the SP register. This switches the area for saving data from the internal stack area to the external stack area.

[0130] Thereafter, all values ​​in the backup registers and the shared registers are saved in a predetermined order to an area in the extra stack area that is pointed to by the extra stack pointer.

[0131] When executing the main routine (out of capacity / interrupt), the main control unit 41 executes various processes using the back registers and the common registers. In detail, all the registers included in the back registers can be used, but among them, the A' register, F' register, B'C' register, and H'L' register are used, and the D'E' register is not used. In addition, all the registers included in the common registers can be used, but among them, the R register, SP register, and PC register are used, and the I register, IX register, and IY register are not used.

[0132] Furthermore, the main control unit 41 executes a subroutine (out-of-capacity interrupt) by calling the subroutine (out-of-capacity interrupt) in the main routine (out-of-capacity interrupt). At this time, the address of the caller is stored in an area of ​​the out-of-capacity stack area indicated by the value stored in the SP register. Also, in the subroutine (out-of-capacity interrupt), data may be saved in the out-of-capacity stack area, and a maximum of N levels of the out-of-capacity stack area will be used. At this time, the out-of-capacity stack pointer stored in the SP register becomes a value indicating the Nth level of the out-of-capacity stack area.

[0133] As shown in Fig. 8, when executing a subroutine (out of capacity, interrupt), the main control unit 41 executes various processes using the back registers and the common registers. In detail, in a subroutine (out of capacity, interrupt), all registers included in the back registers can be used, but among them, the A' register, F' register, B'C' register, and H'L' register are used, and the D'E' register is not used. Also, all registers included in the common registers can be used, but among them, the R register, SP register, and PC register are used, and the I register, IX register, and IY register are not used.

[0134] As shown in Fig. 8, when the main control unit 41 ends the main routine (outside / basic), it restores all the values ​​of the back registers and the common registers that were saved to the outside stack area. As a result, all the data saved to the outside stack area is restored, and the outside stack area becomes empty. After that, the main control unit 41 restores the value of the inside stack pointer that was saved to a specified area in the outside RAM area to the SP register. As a result, the area for saving data is switched from the outside stack area to the inside stack area. Then, the main routine (outside / interrupt) is terminated and a return is made to the inside processing (interrupt).

[0135] In this manner, in this embodiment, in the basic processing, it is possible to execute intra-capacity processing (basic) using an intra-capacity program, and extra-capacity processing (basic) using an extra-capacity program. When extra-capacity processing (basic) is called from intra-capacity processing (basic) and executed, first the values ​​stored in all registers are saved to the extra-capacity stack area in RAM 41c, and when the extra-capacity processing (basic) is terminated, all the values ​​saved in the extra-capacity stack area are restored to all the corresponding registers.

[0136] Furthermore, when performing within-capacity processing (basic), the A register, F register, BC register, DE register, HL register, Q register, I register, R register, SP register, and PC register, i.e., 13 registers, are used, whereas when performing outside-capacity processing (basic), the A register, F register, BC register, HL register, I register, R register, SP register, and PC register, i.e., 10 registers, are used. Therefore, outside-capacity processing (basic) uses only a portion of the multiple registers used by within-capacity processing (basic), and fewer registers are used when performing outside-capacity processing (basic) than when performing within-capacity processing (basic), thereby preventing the use of erroneous data due to the execution of outside-capacity processing (basic).

[0137] In this embodiment, the out-of-capacity processing (basic) uses only a portion of the multiple registers used by the in-capacity processing (basic), so that fewer registers are used when executing the out-of-capacity processing (basic) than when executing the in-capacity processing (basic). However, different registers may be used for the out-of-capacity processing (basic) and the in-capacity processing (basic), and in such a configuration, the out-of-capacity processing (basic) may use fewer registers than the in-capacity processing (basic). Even in such a configuration, since fewer registers are used than when executing the in-capacity processing (basic), it is possible to prevent the use of incorrect data when executing the out-of-capacity processing (basic).

[0138] In addition, in this embodiment, in the interrupt processing, it is possible to execute in-capacity processing (interrupt) by an in-capacity program, and out-capacity processing (interrupt) by an out-capacity program. When out-capacity processing (interrupt) is called and executed from in-capacity processing (interrupt), first the values ​​stored in all registers are saved to an out-capacity stack area in RAM 41c, and when the out-capacity processing (interrupt) is terminated, all the values ​​saved in the out-capacity stack area are restored to all the corresponding registers.

[0139] Furthermore, when executing an in-capacity process (interrupt), the A' register, F' register, B'C' register, D'E' register, H'L' register, R register, SP register, and PC register, i.e., 11 registers, are used, whereas when executing an out-of-capacity process (interrupt process), the A' register, F' register, B'C' register, H'L' register, R register, SP register, and PC register, i.e., 9 registers, are used. Therefore, in an out-of-capacity process (interrupt), only a portion of the multiple registers used by the in-capacity process (interrupt) is used, and fewer registers are used when executing an out-of-capacity process (interrupt) than when executing an in-capacity process (interrupt), thereby preventing the use of erroneous data due to the execution of the out-of-capacity process (interrupt).

[0140] In this embodiment, the out-of-capacity processing (interrupt) uses only a portion of the multiple registers used by the in-capacity processing (interrupt), so that fewer registers are used when executing the out-of-capacity processing (interrupt) than when executing the in-capacity processing (interrupt). However, different registers may be used for the out-of-capacity processing (interrupt) and the in-capacity processing (interrupt), and in such a configuration, the number of registers used by the out-of-capacity processing (interrupt) may be fewer than the number of registers used by the in-capacity processing (interrupt). Even in such a configuration, since fewer registers are used than when executing the in-capacity processing (interrupt), it is possible to prevent the use of incorrect data due to the execution of the out-of-capacity processing (interrupt).

[0141] In this embodiment, it is possible to execute an in-capacity process by an in-capacity program and an out-capacity process by an out-capacity program, and when an out-capacity process is called from an in-capacity process and executed, the value of the in-capacity stack pointer stored in the SP register is saved and switched to a value indicating the out-capacity stack area, thereby switching the data saving destination from the in-capacity stack area to the out-capacity stack area. Also, when the out-capacity process (basic process) is terminated, the saved value of the in-capacity stack pointer is returned to the SP register, thereby switching the data saving destination from the out-capacity stack area to the in-capacity stack area.

[0142] When the out-of-capacity processing is terminated, all data that was saved to the out-of-capacity stack area during the execution of the out-of-capacity processing is restored, and then the data saving destination is switched from the out-of-capacity stack area to the in-capacity stack area, so that the data used in the previously executed out-of-capacity processing remains saved and further out-of-capacity processing is not executed, and confusion between the data used in the previously executed out-of-capacity processing and the data to be used in the currently executed out-of-capacity processing can be prevented.

[0143] In addition, the out-of-capacity processing called from the in-capacity processing includes multiple types of out-of-capacity processing, and regardless of the type of out-of-capacity processing, when the out-of-capacity processing is terminated, all data that was saved to the out-of-capacity stack area during the execution of the out-of-capacity processing is restored, and then the data save destination is switched from the out-of-capacity stack area to the in-capacity stack area. Therefore, regardless of the type of out-of-capacity processing, the data used in the previously executed out-of-capacity processing remains saved and further out-of-capacity processing is not executed, and confusion between the data used in the previously executed out-of-capacity processing and the data to be used in the currently executed out-of-capacity processing can be prevented.

[0144] Furthermore, regardless of the type of out-of-capacity processing, when the out-of-capacity processing is terminated, no data is stored in the out-of-capacity stack area, so when starting out-of-capacity processing, there is no need to restore the value of the out-of-capacity stack pointer that was set at the end of the previous out-of-capacity processing; it is sufficient to always set the value of the out-of-capacity stack pointer to a value indicating the 0th stage of the out-of-capacity stack area.

[0145] [Regarding register variants] Next, a modification of a plurality of registers used by the CPU 41a for performing calculations will be described with reference to FIGS.

[0146] In the example shown in Figures 5 to 8, the multiple registers mainly include a front register, a back register, and a common register, and for basic processing, the front register and the common register are used whether the processing is within the capacity or outside the capacity, and for interrupt processing, the back register and the common register are used whether the processing is within the capacity or outside the capacity. However, in the modified example shown in Figures 9 and 10, the multiple registers include an in-capacity register, an out-of-capacity register, and a common register.

[0147] The in-capacity register comprises a set of front and rear registers, and the out-of-capacity register comprises a set of front and rear registers that are different from those comprised by the in-capacity register.

[0148] The main control unit 41 uses the in-capacity register during in-capacity processing, and switches the register used from the in-capacity register to the out-capacity register during out-of-capacity processing, and at the end of the out-of-capacity processing, returns the register used from the out-of-capacity register to the in-capacity register, so that the in-capacity register is used during in-capacity processing and the out-of-capacity register is used during out-of-capacity processing.

[0149] The common register is configured so that it can be used for both in-capacity processing and out-of-capacity processing.

[0150] 10, the IX register and the IY register among the common registers can be used in both in-capacity processing and out-capacity processing, but the IX register among the IX register and the IY register is used in in-capacity processing and not used in out-capacity processing. Also, the IY register among the IX register and the IY register is used in out-capacity processing and not used in in-capacity processing.

[0151] Thus, in a modified example of the multiple registers, the multiple registers include in-capacity registers used in in-capacity processing, out-of-capacity registers used in out-of-capacity processing, and common registers that can be used in both in-capacity processing and out-of-capacity processing, and the in-capacity registers are used in in-capacity processing, and the out-of-capacity registers are used in out-of-capacity processing called from the in-capacity processing.

[0152] A plurality of registers consisting of the IX register and the IY register can be used for both in-capacity processing and out-of-capacity processing, but of the plurality of registers consisting of the IX register and the IY register, the IX register is used in in-capacity processing and is not used in out-of-capacity processing, thereby preventing confusion of data stored in the IX register between in-capacity processing and out-of-capacity processing.

[0153] In addition, multiple registers consisting of the IX register and the IY register can be used for both in-capacity processing and out-of-capacity processing, but of the multiple registers consisting of the IX register and the IY register, the IY register is used in out-of-capacity processing and not in in-capacity processing, thereby preventing confusion of data stored in the IY register between in-capacity processing and out-of-capacity processing.

[0154] In addition, of the multiple registers consisting of the IX register and the IY register, the IX register is used only for in-capacity processing and the IY register is used only for out-of-capacity processing. However, it is also possible to use multiple registers consisting of the IX register and the IY register only for in-capacity processing, or multiple registers consisting of the IX register and the IY register only for out-of-capacity processing. By using such a configuration, it is possible to prevent confusion of data stored in the multiple registers consisting of the IX register and the IY register between in-capacity processing and out-of-capacity processing.

[0155] [Effect 1] In this embodiment, the interrupt processing is composed of a main routine (interrupt) and a subroutine (interrupt) that is called and executed from the main routine (interrupt), and among the multiple registers used in the interrupt processing, the IY register is used in the subroutine (interrupt) and not in the main routine (interrupt), thereby preventing confusion of data stored in the IY register between the main routine (interrupt) and the subroutine (interrupt).

[0156] In this embodiment, the subroutines (interrupts) called from the main routine (interrupt) include multiple types of subroutines (interrupts), and the IY register is not used by all of the multiple types of subroutines (interrupts), but is used by one of the types of subroutines (interrupts). This makes it possible to prevent data stored in the IY register from being mixed up between the main routine (interrupt) and the subroutines (interrupts) that use the IY register.

[0157] Furthermore, in this embodiment, interrupt processing is executed by interrupting basic processing each time a timer interrupt occurs, and the IY register is used in the subroutine (interrupt) and not in the main routine (interrupt), thereby preventing confusion of data stored in the IY register between the main routine (interrupt) and the subroutine (interrupt) that uses the IY register during execution of interrupt processing.

[0158] In this embodiment, the interrupt processing is composed of a main routine (interrupt) and a subroutine (interrupt) that is called and executed from the main routine (interrupt), and among the multiple registers used in the interrupt processing, the D'E' register is used in the main routine (interrupt) and not in the subroutine (interrupt), thereby preventing confusion of data stored in the D'E' register between the main routine (interrupt) and the subroutine (interrupt).

[0159] In this embodiment, the subroutines (interrupts) called from the main routine (interrupt) include multiple types of subroutines (interrupts), and the D'E' register is not used in any of the types of subroutines (interrupts). This makes it possible to prevent data stored in the D'E' register from being mixed up between the main routine (interrupt) and any type of subroutine (interrupt).

[0160] Furthermore, in this embodiment, the interrupt processing is executed by interrupting the basic processing each time a timer interrupt occurs, and the D'E' register is used in the main routine (interrupt) and not in the subroutine (interrupt), thereby preventing the data stored in the D'E' register from becoming confused between the main routine (interrupt) and the subroutine (interrupt) while the interrupt processing is being executed.

[0161] [Effect 2] In this embodiment, the front register is used in the basic process, and the back register replaced with the front register is used in the interrupt process that is executed by interrupting the basic process. The IX register can be used when the basic process is executed and when the interrupt process is executed, but since the IX register is used in the basic process and not in the interrupt process, it is possible to prevent the data stored in the IX register from becoming mixed up between the basic process and the interrupt process.

[0162] Furthermore, in this embodiment, multiple registers consisting of the IX register and the IY register can be used both when basic processing is being executed and when interrupt processing is being executed. However, of the IX register and the IY register, the IY register is used for interrupt processing and the IX register is not used for interrupt processing, so that it is possible to prevent confusion between basic processing and interrupt processing of data stored in at least the IX register, of the multiple registers consisting of the IX register and the IY register.

[0163] In addition, in this embodiment, multiple registers consisting of the IX register and the IY register can be used both when basic processing is executed and when interrupt processing is executed, but it is also possible to configure the system so that neither the IX register nor the IY register is used for interrupt processing.By configuring in this way, neither the IX register nor the IY register, which can be used both when basic processing is executed and when interrupt processing is executed, is used in interrupt processing, thereby preventing confusion of data stored in multiple registers consisting of the IX register and the IY register between basic processing and interrupt processing.

[0164] In this embodiment, the front register is used in the basic process, and the back register replaced with the front register is used in the interrupt process that is executed by interrupting the basic process. The IY register can be used when the basic process is executed and when the interrupt process is executed, but the IY register is used in the interrupt process and not in the basic process, so that data stored in the IY register can be prevented from becoming mixed up between the basic process and the interrupt process.

[0165] Furthermore, in this embodiment, multiple registers consisting of the IX register and the IY register can be used both when basic processing is being executed and when interrupt processing is being executed. However, of the IX register and the IY register, the IX register is used for basic processing and the IY register is not used for basic processing, so that it is possible to prevent confusion between basic processing and interrupt processing of data stored in at least the IY register, of the multiple registers consisting of the IX register and the IY register.

[0166] In addition, in this embodiment, multiple registers consisting of the IX register and the IY register can be used both when basic processing is executed and when interrupt processing is executed, but it is also possible to configure the system so that none of the IX register and the IY register are used for basic processing.By configuring in this way, none of the multiple registers consisting of the IX register and the IY register that can be used both when basic processing is executed and when interrupt processing is executed are used in the basic processing, thereby preventing confusion of data stored in the multiple registers consisting of the IX register and the IY register between basic processing and interrupt processing.

[0167] Furthermore, in this embodiment, when executing an interrupt process, if the register used is switched from the front register to the back register, the value of the back register used in the previous interrupt process is stored; however, in the current interrupt process, the value of the back register used in the previous interrupt process is not used, and the necessary value is stored in the back register again, thereby preventing the interrupt process from being executed with an unintended value.

[0168] [Effect 3] In this embodiment, it is possible to execute in-capacity processing by an in-capacity program and out-of-capacity processing by an out-of-capacity program that is called and executed from the in-capacity program. When executing in-capacity processing, first the values ​​stored in all registers are saved to an out-of-capacity stack area in RAM 41c, and when the out-of-capacity processing is terminated, all the values ​​saved in the out-of-capacity stack area are restored to all the corresponding registers.

[0169] Furthermore, when out-of-capacity processing is performed, only some of the multiple registers used by in-capacity processing are used, and therefore, since out-of-capacity processing uses only some of the multiple registers used by in-capacity processing, and the number of registers used when out-of-capacity processing is smaller than when in-capacity processing is performed, it is possible to prevent the use of erroneous data due to the execution of out-of-capacity processing.

[0170] In addition, in this embodiment, in the basic processing, it is possible to execute intra-capacity processing (basic) using an intra-capacity program, and extra-capacity processing (basic) using an extra-capacity program. When extra-capacity processing (basic) is called from intra-capacity processing (basic) and executed, first the values ​​stored in all registers are saved to the extra-capacity stack area in RAM 41c, and when the extra-capacity processing (basic) is terminated, all the values ​​saved in the extra-capacity stack area are restored to all the corresponding registers.

[0171] Furthermore, when performing within-capacity processing (basic), the A register, F register, BC register, DE register, HL register, Q register, I register, R register, SP register, and PC register, i.e., 13 registers, are used, whereas when performing outside-capacity processing (basic), the A register, F register, BC register, HL register, I register, R register, SP register, and PC register, i.e., 10 registers, are used. Therefore, outside-capacity processing (basic) uses only a portion of the multiple registers used by within-capacity processing (basic), and fewer registers are used when performing outside-capacity processing (basic) than when performing within-capacity processing (basic), thereby preventing the use of erroneous data due to the execution of outside-capacity processing (basic).

[0172] In addition, in this embodiment, in the interrupt processing, it is possible to execute in-capacity processing (interrupt) by an in-capacity program, and out-capacity processing (interrupt) by an out-capacity program. When out-capacity processing (interrupt) is called and executed from in-capacity processing (interrupt), first the values ​​stored in all registers are saved to an out-capacity stack area in RAM 41c, and when the out-capacity processing (interrupt) is terminated, all the values ​​saved in the out-capacity stack area are restored to all the corresponding registers.

[0173] Furthermore, when executing an in-capacity process (interrupt), the A' register, F' register, B'C' register, D'E' register, H'L' register, R register, SP register, and PC register, i.e., 11 registers, are used, whereas when executing an out-of-capacity process (interrupt process), the A' register, F' register, B'C' register, H'L' register, R register, SP register, and PC register, i.e., 9 registers, are used. Therefore, in an out-of-capacity process (interrupt), only a portion of the multiple registers used by the in-capacity process (interrupt) is used, and fewer registers are used when executing an out-of-capacity process (interrupt) than when executing an in-capacity process (interrupt), thereby preventing the use of erroneous data due to the execution of the out-of-capacity process (interrupt).

[0174] [Effect 4] In this embodiment, it is possible to execute an in-capacity process by an in-capacity program and an out-capacity process by an out-capacity program, and when an out-capacity process is called from an in-capacity process and executed, the value of the in-capacity stack pointer stored in the SP register is saved and switched to a value indicating the out-capacity stack area, thereby switching the data saving destination from the in-capacity stack area to the out-capacity stack area. Also, when the out-capacity process (basic process) is terminated, the saved value of the in-capacity stack pointer is returned to the SP register, thereby switching the data saving destination from the out-capacity stack area to the in-capacity stack area.

[0175] When the out-of-capacity processing is terminated, all data that was saved to the out-of-capacity stack area during the execution of the out-of-capacity processing is restored, and then the data saving destination is switched from the out-of-capacity stack area to the in-capacity stack area, so that the data used in the previously executed out-of-capacity processing remains saved and further out-of-capacity processing is not executed, and confusion between the data used in the previously executed out-of-capacity processing and the data to be used in the currently executed out-of-capacity processing can be prevented.

[0176] In addition, the out-of-capacity processing called from the in-capacity processing includes multiple types of out-of-capacity processing, and regardless of the type of out-of-capacity processing, when the out-of-capacity processing is terminated, all data that was saved to the out-of-capacity stack area during the execution of the out-of-capacity processing is restored, and then the data save destination is switched from the out-of-capacity stack area to the in-capacity stack area. Therefore, regardless of the type of out-of-capacity processing, the data used in the previously executed out-of-capacity processing remains saved and further out-of-capacity processing is not executed, and confusion between the data used in the previously executed out-of-capacity processing and the data to be used in the currently executed out-of-capacity processing can be prevented.

[0177] Although an embodiment of the present invention has been described above with reference to the drawings, the present invention is not limited to this embodiment, and it goes without saying that modifications and additions that do not deviate from the spirit of the present invention are also included in the present invention.

[0178] In the above embodiment, an example was described in which the present invention is applied to a slot machine in which the bet amount is set using medals and credits as gaming value, but the present invention may also be applied to a slot machine in which the bet amount is set using gaming balls as gaming value, or a full credit type slot machine in which the bet amount is set using only credits as gaming value.

[0179] Furthermore, in the above embodiment and modified example, an example of applying the present invention to a slot machine 1, which is an example of a gaming machine, has been shown, but the present invention is not limited to this and can be applied to any gaming machine that performs a specified game, such as a pachinko gaming machine in which a game is played by firing a gaming ball into a game area, and further, general gaming machines other than slot machines and pachinko gaming machines. [Explanation of symbols]

[0180] 1. Slot Machines 2L, 2C, 2R reels 6 MAXBET switch 7 Start switch 8L, 8C, 8R Stop switch 41 Main control unit 91 Sub-control section

Claims

[Claim 1] In a gaming machine for playing a game, A program execution means for executing a program using a plurality of registers, The program includes a basic program and an interrupt program that is executed by interrupting the execution of the basic program, using a first register when executing the basic program; switching a register to be used when executing the interrupt program from the first register to the second register; returning the register used when terminating the interrupt program from the second register to the first register; After returning from the second register to the first register, the value of the second register is held until switching from the first register to the second register; when the second register is used in the interrupt program, after switching from the first register to the second register, a value is newly stored in the second register and used, regardless of a value stored in the second register; the plurality of registers includes a special register that can be used when executing the basic program and when executing the interrupt program, separate from the first register and the second register; The interrupt program is composed of a main program and a subprogram that is called and executed by the main program, The special register is used in the interrupt program and not used in the basic program; A gaming machine in which the interrupt program is not used in the main program, but is used in a sub-program of the interrupt program.

Citation Information

Patent Citations

  • Game machine

    JP2002066009A

  • Game machine

    JP2003210732A

  • Game machine

    JP2017196419A

  • Game machine

    JP2018099476A

  • Game machine

    JP2019013346A