JP5811423B2 - Amusement stand - Google Patents
Amusement stand Download PDFInfo
- Publication number
- JP5811423B2 JP5811423B2 JP2014089716A JP2014089716A JP5811423B2 JP 5811423 B2 JP5811423 B2 JP 5811423B2 JP 2014089716 A JP2014089716 A JP 2014089716A JP 2014089716 A JP2014089716 A JP 2014089716A JP 5811423 B2 JP5811423 B2 JP 5811423B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- value
- special
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 1268
- 230000006870 function Effects 0.000 claims description 139
- 230000008569 process Effects 0.000 description 1137
- 238000012545 processing Methods 0.000 description 462
- 238000003860 storage Methods 0.000 description 406
- 230000000694 effects Effects 0.000 description 183
- 238000001514 detection method Methods 0.000 description 172
- 230000005856 abnormality Effects 0.000 description 143
- 238000010586 diagram Methods 0.000 description 104
- 238000012544 monitoring process Methods 0.000 description 95
- 230000005540 biological transmission Effects 0.000 description 91
- 230000008859 change Effects 0.000 description 79
- 230000004048 modification Effects 0.000 description 63
- 230000002829 reductive effect Effects 0.000 description 62
- 238000012986 modification Methods 0.000 description 61
- 238000012546 transfer Methods 0.000 description 49
- 238000007726 management method Methods 0.000 description 45
- 230000004913 activation Effects 0.000 description 34
- 238000005034 decoration Methods 0.000 description 34
- 230000006854 communication Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 30
- 230000009467 reduction Effects 0.000 description 29
- 230000002159 abnormal effect Effects 0.000 description 26
- 238000004519 manufacturing process Methods 0.000 description 25
- 238000013461 design Methods 0.000 description 18
- 230000018109 developmental process Effects 0.000 description 18
- 238000011161 development Methods 0.000 description 16
- 238000011084 recovery Methods 0.000 description 16
- 238000003780 insertion Methods 0.000 description 15
- 230000037431 insertion Effects 0.000 description 15
- 238000011068 loading method Methods 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 14
- 239000004973 liquid crystal related substance Substances 0.000 description 13
- 239000013078 crystal Substances 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 238000012552 review Methods 0.000 description 9
- 230000000630 rising effect Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 8
- 230000005611 electricity Effects 0.000 description 7
- 230000000670 limiting effect Effects 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 101100498892 Aedes aegypti DEFB gene Proteins 0.000 description 6
- 208000019901 Anxiety disease Diseases 0.000 description 6
- 241000167854 Bourreria succulenta Species 0.000 description 6
- 241000219109 Citrullus Species 0.000 description 6
- 235000012828 Citrullus lanatus var citroides Nutrition 0.000 description 6
- 230000036506 anxiety Effects 0.000 description 6
- 235000019693 cherries Nutrition 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000007175 bidirectional communication Effects 0.000 description 5
- 239000003990 capacitor Substances 0.000 description 5
- 210000000245 forearm Anatomy 0.000 description 5
- 239000011521 glass Substances 0.000 description 5
- 238000002360 preparation method Methods 0.000 description 5
- 239000013589 supplement Substances 0.000 description 5
- 230000000153 supplemental effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 230000005284 excitation Effects 0.000 description 4
- 230000012447 hatching Effects 0.000 description 4
- 230000009191 jumping Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 150000001875 compounds Chemical class 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000010304 firing Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000009987 spinning Methods 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- BDEDPKFUFGCVCJ-UHFFFAOYSA-N 3,6-dihydroxy-8,8-dimethyl-1-oxo-3,4,7,9-tetrahydrocyclopenta[h]isochromene-5-carbaldehyde Chemical compound O=C1OC(O)CC(C(C=O)=C2O)=C1C1=C2CC(C)(C)C1 BDEDPKFUFGCVCJ-UHFFFAOYSA-N 0.000 description 1
- 241000274965 Cyrestis thyodamas Species 0.000 description 1
- 241001539473 Euphoria Species 0.000 description 1
- 206010015535 Euphoric mood Diseases 0.000 description 1
- 241000722921 Tulipa gesneriana Species 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 244000145845 chattering Species 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 238000012020 response level correlation assay Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- 235000021419 vinegar Nutrition 0.000 description 1
- 239000000052 vinegar Substances 0.000 description 1
Landscapes
- Pinball Game Machines (AREA)
- Slot Machines And Peripheral Devices (AREA)
Description
本発明は、回胴遊技機(スロットマシン)や弾球遊技機(パチンコ機)に代表される遊技台に関する。 The present invention relates to a game table represented by a spinning machine (slot machine) and a ball game machine (pachinko machine).
従来の遊技台(例えば、スロットマシン、パチンコ機)は、図柄表示部の有効入賞ラインに沿って所定の図柄の組合せを停止表示させることで、遊技者が所定の利益を獲得できるように構成されていたり、遊技領域に設けられた所定の入賞口に遊技球を進入させることで、遊技者が所定の利益を獲得できるように構成されている(例えば、特許文献1参照)。 Conventional game machines (for example, slot machines, pachinko machines) are configured so that a player can obtain a predetermined profit by stopping and displaying a predetermined combination of symbols along an effective winning line of a symbol display unit. Or by allowing a player to obtain a predetermined profit by allowing a game ball to enter a predetermined winning opening provided in the game area (see, for example, Patent Document 1).
しかしながら、従来の遊技台は、CPUのレジスタと当該レジスタを用いたプログラムに改良の余地がある。 However, the conventional game machine has room for improvement in the CPU register and the program using the register.
本発明の目的は、CPUのレジスタと当該レジスタを用いたプログラムに特徴を持った遊技台を提供することにある。 An object of the present invention is to provide a gaming machine characterized by a CPU register and a program using the register.
本発明は、CPUと、制御プログラムが少なくとも記憶されたROMと、データを一時記憶可能なRAMと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、スロットマシンであり、前記RAMの先頭アドレスの上位バイトは、前記ROMの先頭アドレスの上位バイトよりも大きく、前記CPUは、少なくとも第一のレジスタを有し、前記CPUは、少なくとも第二のレジスタを有し、前記第一のレジスタは、複数の方法のうちのいずれかの方法で値をセット可能なレジスタであり、前記複数の方法のうちの少なくとも一つは、第一の方法であり、前記複数の方法のうちの少なくとも一つは、第二の方法であり、前記第一の方法は、直値により値をセットする方法であり、前記第二の方法は、前記RAMの先頭アドレスの上位バイトと同じ値を初期値としてセットする方法であり、前記CPUは、前記第一のレジスタに値をセットする機能のうち、LD命令を受けたことに基づいて行われる機能としては、前記第一の方法により値がセットされる機能のみを有し、前記CPUは、前記第一のレジスタに値をセットする機能のうち、前記LD命令を受けたことに基づいて行われる機能以外の機能としては、前記第二の方法により値がセットされる機能を少なくとも有し、前記第二の方法は、前記制御プログラムによらずに実行され、前記制御プログラムは、前記複数の方法のうちのいずれかの方法で値がセットされた前記第一のレジスタを用いて前記RAMをアクセスする命令を少なくとも含むプログラムであり、前記第二のレジスタは、フラグレジスタであり、前記第二のレジスタの一のビットは、第一のフラグジスタとして機能するビットであり、前記第二のレジスタの一のビットは、第二のフラグジスタとして機能するビットである、ことを特徴とする遊技台である。 The present invention is a gaming machine equipped with a microcomputer incorporating a CPU, a ROM storing at least a control program, and a RAM capable of temporarily storing data, the gaming machine being a slot machine, The upper byte of the head address of the RAM is larger than the upper byte of the head address of the ROM, the CPU has at least a first register, the CPU has at least a second register, and One register is a register whose value can be set by any one of a plurality of methods, at least one of the plurality of methods is a first method, and among the plurality of methods At least one of them is a second method, the first method is a method of setting a value by a direct value, and the second method is a top address of the RAM. In the method of setting the same value as the upper byte of the memory as an initial value, the CPU performs a function performed based on receiving the LD command among the functions of setting a value in the first register. The CPU has only a function for setting a value by the first method, and the CPU has a function other than a function to be performed based on receiving the LD command among functions for setting a value in the first register. As a function, at least a function for setting a value by the second method is provided, the second method is executed without depending on the control program, and the control program is one of the plurality of methods. A program including at least an instruction to access the RAM using the first register in which a value is set by any method, and the second register is a flag register One bit of the second register is a bit that functions as a first flag register, and one bit of the second register is a bit that functions as a second flag register. It is a game table to play.
また、CPUと、制御プログラムが少なくとも記憶されたROMと、データを一時記憶可能なRAMと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、ぱちんこ機であり、前記RAMの先頭アドレスの上位バイトは、前記ROMの先頭アドレスの上位バイトよりも大きく、前記CPUは、少なくとも第一のレジスタを有し、前記CPUは、少なくとも第二のレジスタを有し、前記第一のレジスタは、複数の方法のうちのいずれかの方法で値をセット可能なレジスタであり、前記複数の方法のうちの少なくとも一つは、第一の方法であり、前記複数の方法のうちの少なくとも一つは、第二の方法であり、前記第一の方法は、直値により値をセットする方法であり、前記第二の方法は、前記RAMの先頭アドレスの上位バイトと同じ値を初期値としてセットする方法であり、前記CPUは、前記第一のレジスタに値をセットする機能のうち、LD命令を受けたことに基づいて行われる機能としては、前記第一の方法により値がセットされる機能のみを有し、前記CPUは、前記第一のレジスタに値をセットする機能のうち、前記LD命令を受けたことに基づいて行われる機能以外の機能としては、前記第二の方法により値がセットされる機能を少なくとも有し、前記第二の方法は、前記制御プログラムによらずに実行され、前記制御プログラムは、前記複数の方法のうちのいずれかの方法で値がセットされた前記第一のレジスタを用いて前記RAMをアクセスする命令を少なくとも含むプログラムであり、前記第二のレジスタは、フラグレジスタであり、前記第二のレジスタの一のビットは、第一のフラグジスタとして機能するビットであり、前記第二のレジスタの一のビットは、第二のフラグジスタとして機能するビットである、ことを特徴とする遊技台である。 Also, a gaming machine comprising a microcomputer including a CPU, a ROM storing at least a control program, and a RAM capable of temporarily storing data, wherein the gaming machine is a pachinko machine, and the RAM The upper byte of the first address of the ROM is larger than the upper byte of the first address of the ROM, the CPU has at least a first register, the CPU has at least a second register, and the first byte The register is a register whose value can be set by any one of a plurality of methods, at least one of the plurality of methods is a first method, and at least one of the plurality of methods. One is a second method, the first method is a method of setting a value by a direct value, and the second method is a method for setting the top address of the RAM. In this method, the same value as a byte is set as an initial value. Among the functions for setting a value in the first register, the CPU performs a function performed based on receiving an LD command. The CPU has only a function for setting a value by the above method. Among the functions for setting the value in the first register, the CPU has a function other than the function performed based on the reception of the LD instruction. , Having at least a function of setting a value by the second method, wherein the second method is executed without depending on the control program, and the control program is one of the plurality of methods. A program including at least an instruction for accessing the RAM using the first register having a value set by a method; the second register is a flag register; One bit of the second register is a bit that functions as a first flag register, and one bit of the second register is a bit that functions as a second flag register It is.
本発明に係る遊技台によれば、CPUのレジスタと当該レジスタを用いたプログラムに特徴を持った遊技台を提供することができる。 According to the gaming machine according to the present invention, it is possible to provide a gaming machine characterized by a CPU register and a program using the register.
<実施形態1> <Embodiment 1>
以下、図面を用いて、本発明の実施形態1に係る遊技台(パチンコ機100)について詳細に説明する。
<全体構成>
Hereinafter, the gaming machine (pachinko machine 100) according to Embodiment 1 of the present invention will be described in detail with reference to the drawings.
<Overall configuration>
まず、図1を用いて、本発明の実施形態1に係るパチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面側(遊技者側)から見た外観斜視図である。 First, the overall configuration of the pachinko machine 100 according to the first embodiment of the present invention will be described with reference to FIG. In addition, the figure is the external appearance perspective view which looked at the pachinko machine 100 from the front side (player side).
パチンコ機100は、外部的構造として、外枠102と、本体104と、前面枠扉106と、球貯留皿付扉108と、発射装置110と、遊技盤200と、をその前面に備える。 As an external structure, the pachinko machine 100 includes an outer frame 102, a main body 104, a front frame door 106, a door 108 with a ball storage tray, a launching device 110, and a game board 200 on the front surface.
外枠102は、遊技機設置営業店に設けられた設置場所(島設備等)へと固定させるための縦長方形状から成る木製の枠部材である。本体104は、内枠と呼ばれ、外枠102の内部に備えられ、ヒンジ部112を介して外枠102に回動自在に装着された縦長方形状の遊技機基軸体となる部材である。また、本体104は、枠状に形成され、内側に空間部114を有している。また、本体104が開放された場合、本体104の開放を検出する不図示の内枠開放センサを備える。 The outer frame 102 is a wooden frame member having a vertical rectangular shape for fixing to an installation location (island facilities or the like) provided in a gaming machine installation sales shop. The main body 104 is referred to as an inner frame, and is a member that is provided inside the outer frame 102 and serves as a longitudinal rectangular gaming machine base body that is rotatably attached to the outer frame 102 via a hinge portion 112. The main body 104 is formed in a frame shape and has a space 114 inside. In addition, when the main body 104 is opened, an inner frame opening sensor (not shown) that detects the opening of the main body 104 is provided.
前面枠扉106は、ロック機能付きで且つ開閉自在となるようにパチンコ機100の前面側となる本体104の前面に対しヒンジ部112を介して装着され、枠状に構成されることでその内側を開口部とした扉部材である。なお、この前面枠扉106には、開口部にガラス製又は樹脂製の透明板部材118が設けられ、前面側には、スピーカ120や枠ランプ122が取り付けられている。前面枠扉106の後面と遊技盤200の前面とで遊技領域124を区画形成する。また、前面枠扉106が開放された場合、前面枠扉106の開放を検出する不図示の前面枠扉開放センサを備える。 The front frame door 106 is attached to the front surface of the main body 104 on the front side of the pachinko machine 100 so as to be openable and closable with a lock function, and is configured in a frame shape so that the inner side of the front frame door 106 can be opened and closed. Is a door member having an opening. The front frame door 106 is provided with a transparent plate member 118 made of glass or resin at the opening, and a speaker 120 and a frame lamp 122 are attached to the front side. A game area 124 is defined by the rear surface of the front frame door 106 and the front surface of the game board 200. Further, a front frame door opening sensor (not shown) that detects opening of the front frame door 106 when the front frame door 106 is opened is provided.
球貯留皿付扉108は、パチンコ機100の前面において本体104の下側に対して、ロック機能付きで且つ開閉自在となるように装着された扉部材である。球貯留皿付扉108は、複数の遊技球(以下、単に「球」と称する場合がある)が貯留可能で且つ発射装置110へと遊技球を案内させる通路が設けられている上皿126と、上皿126に貯留しきれない遊技球を貯留する下皿128と、遊技者の操作によって上皿126に貯留された遊技球を下皿128へと排出させる球抜ボタン130と、遊技者の操作によって下皿128に貯留された遊技球を遊技球収集容器(俗称、ドル箱)へと排出させる球排出レバー132と、遊技者の操作によって発射装置110へと案内された遊技球を遊技盤200の遊技領域124へと打ち出す球発射ハンドル134と、遊技者の操作によって各種演出装置206の演出態様に変化を与えるチャンスボタン136と、チャンスボタン136を発光させるチャンスボタンランプ138と、遊技店に設置されたカードユニット(CRユニット)に対して球貸し指示を行う球貸操作ボタン140と、カードユニットに対して遊技者の残高の返却指示を行う返却操作ボタン142と、遊技者の残高やカードユニットの状態を表示する球貸表示部144と、を備える。また、下皿128が満タンであることを検出する不図示の下皿満タンセンサを備える。 The door 108 with a ball storage tray is a door member attached to the lower side of the main body 104 on the front surface of the pachinko machine 100 so as to have a lock function and be openable and closable. The ball storage tray-equipped door 108 is capable of storing a plurality of game balls (hereinafter simply referred to as “balls”), and an upper plate 126 provided with a passage for guiding the game balls to the launching device 110. A lower plate 128 that stores game balls that cannot be stored in the upper plate 126, a ball removal button 130 that discharges the game balls stored in the upper plate 126 to the lower plate 128 by the player's operation, A ball discharge lever 132 that discharges game balls stored in the lower plate 128 to a game ball collection container (common name, dollar box) by operation, and a game ball guided to the launching device 110 by operation of the player 200 ball launching handles 134 for launching into the game area 124, chance buttons 136 for changing the effects of the various effects devices 206 by the player's operation, and the chance button 136 to emit light. Sub button lamp 138, ball lending operation button 140 for instructing ball lending to a card unit (CR unit) installed in the game store, and return operation button for instructing the card unit to return the player's balance 142, and a ball rental display unit 144 for displaying the balance of the player and the state of the card unit. In addition, a lower plate full tank sensor (not shown) that detects that the lower plate 128 is full is provided.
発射装置110は、本体104の下方に取り付けられ、球発射ハンドル134が遊技者に操作されることによって回動する発射杆146と、遊技球を発射杆146の先端で打突する発射槌148と、を備える。 The launching device 110 is attached to the lower side of the main body 104, and a launching rod 146 that rotates when the ball launching handle 134 is operated by the player, and a launching rod 148 that strikes the game ball at the tip of the launching rod 146. .
遊技盤200は、前面に遊技領域124を有し、本体104の空間部114に臨むように、所定の固定部材を用いて本体104に着脱自在に装着されている。なお、遊技領域124は、遊技盤200を本体104に装着した後、開口部から観察することができる。 The game board 200 has a game area 124 on the front surface, and is detachably attached to the main body 104 using a predetermined fixing member so as to face the space 114 of the main body 104. The game area 124 can be observed from the opening after the game board 200 is mounted on the main body 104.
図2は、図1のパチンコ機100を背面側から見た外観図である。パチンコ機100の背面上部には、上方に開口した開口部を有し、遊技球を一時的に貯留するための球タンク150と、この球タンク150の下方に位置し、球タンク150の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置152に導くためのタンクレール154とを配設している。 FIG. 2 is an external view of the pachinko machine 100 of FIG. 1 viewed from the back side. The upper part of the back surface of the pachinko machine 100 has an opening that opens upward, a ball tank 150 for temporarily storing game balls, and a lower part of the ball tank 150 that is positioned below the ball tank 150. A tank rail 154 is provided for guiding a ball passing through the formed communication hole and dropping to the dispensing device 152 located on the right side of the back surface.
払出装置152は、筒状の部材からなり、その内部には、不図示の払出モータとスプロケットと払出センサとを備えている。スプロケットは、払出モータによって回転可能に構成されており、タンクレール154を通過して払出装置152内に流下した遊技球を一時的に滞留させると共に、払出モータを駆動して所定角度だけ回転することにより、一時的に滞留した遊技球を払出装置152の下方へ1個ずつ送り出すように構成している。 The payout device 152 is formed of a cylindrical member, and includes a payout motor, a sprocket, and a payout sensor (not shown) inside. The sprocket is configured to be rotatable by a payout motor. The sprocket that temporarily passes through the tank rail 154 and flows down into the payout device 152 is temporarily retained, and the payout motor is driven to rotate by a predetermined angle. Thus, the temporarily accumulated game balls are sent one by one downward to the payout device 152.
払出センサは、スプロケットが送り出した遊技球の通過を検知するためのセンサであり、遊技球が通過しているときにハイまたはローの何れか一方の信号を、遊技球が通過していないときはハイまたはローの何れか他方の信号を払出制御部600へ出力する。なお、この払出センサを通過した遊技球は、不図示の球レールを通過してパチンコ機100の表側に配設した上皿126に到達するように構成しており、パチンコ機100は、この構成により遊技者に対して球の払い出しを行う。 The payout sensor is a sensor for detecting the passage of the game ball sent out by the sprocket. When the game ball is passing, either a high signal or a low signal is passed. Either the high signal or the low signal is output to the dispensing control unit 600. The game ball that has passed through the payout sensor passes through a ball rail (not shown) and reaches the upper plate 126 disposed on the front side of the pachinko machine 100. The pachinko machine 100 has this configuration. To pay out the ball to the player.
払出装置152の図中左側には、遊技全般の制御処理を行う主制御部300を構成する主基板156を収納する主基板ケース158、主制御部300が生成した処理情報に基づいて演出に関する制御処理を行う第1副制御部400を構成する第1副基板160を収納する第1副基板ケース162、第1副制御部400が生成した処理情報に基づいて演出に関する制御処理を行う第2副制御部500を構成する第2副基板164を収納する第2副基板ケース166、遊技球の払出に関する制御処理を行う払出制御部600を構成するとともに遊技店員の操作によってエラーを解除するエラー解除スイッチ168を備える払出基板170を収納する払出基板ケース172、遊技球の発射に関する制御処理を行う発射制御部630を構成する発射基板174を収納する発射基板ケース176、各種電気的遊技機器に電源を供給する電源制御部660を構成するとともに遊技店員の操作によって電源をオンオフする電源スイッチ178と電源投入時に操作されることによってRWMクリア信号を主制御部300に出力するRWMクリアスイッチ180とを備える電源基板182を収納する電源基板ケース184、および払出制御部600とカードユニットとの信号の送受信を行うCRインターフェース部186を配設している。 On the left side of the payout device 152 in the figure, a main board case 158 that houses the main board 156 that constitutes the main control section 300 that performs control processing for the entire game, and control related to effects based on the processing information generated by the main control section 300 The first sub-board case 162 that houses the first sub-board 160 that constitutes the first sub-control unit 400 that performs processing, and the second sub-board that performs control processing related to effects based on the processing information generated by the first sub-control unit 400. An error release switch that constitutes a second sub-board case 166 that houses the second sub-board 164 that constitutes the control unit 500, a payout control unit 600 that performs control processing related to the payout of game balls, and that releases an error by the operation of a game clerk Discharge board case 172 storing the payout board 170 having 168, launch base constituting the launch control unit 630 that performs control processing relating to the launch of the game ball A launch board case 176 that houses 174, a power control unit 660 that supplies power to various electrical gaming machines, and a power switch 178 that turns the power on and off by the operation of a game store clerk and an RWM clear by being operated when the power is turned on A power board case 184 that houses a power board 182 that includes an RWM clear switch 180 that outputs a signal to the main controller 300, and a CR interface 186 that transmits and receives signals between the payout controller 600 and the card unit are provided. ing.
図3は、遊技盤200を正面から見た略示正面図である。遊技盤200には、外レール202と内レール204とを配設し、遊技球が転動可能な遊技領域124を区画形成している。 FIG. 3 is a schematic front view of the game board 200 as viewed from the front. In the game board 200, an outer rail 202 and an inner rail 204 are arranged, and a game area 124 in which a game ball can roll is defined.
遊技領域124の略中央には、演出装置206を配設している。この演出装置206には、略中央に装飾図柄表示装置208を配設し、その周囲に、普通図柄表示装置210と、第1特別図柄表示装置212と、第2特別図柄表示装置214と、普通図柄保留ランプ216と、第1特別図柄保留ランプ218と、第2特別図柄保留ランプ220と、高確中ランプ222を配設している。なお、以下、普通図柄を「普図」、特別図柄を「特図」と称する場合がある。 An effect device 206 is disposed in the approximate center of the game area 124. The effect device 206 is provided with a decorative symbol display device 208 substantially in the center, and around the normal symbol display device 210, the first special symbol display device 212, the second special symbol display device 214, and the ordinary device. A symbol holding lamp 216, a first special symbol holding lamp 218, a second special symbol holding lamp 220, and a high-probability medium lamp 222 are provided. Hereinafter, the normal symbol may be referred to as “general symbol” and the special symbol may be referred to as “special symbol”.
演出装置206は、演出可動体224を動作して演出を行うものであり、詳細については後述する。装飾図柄表示装置208は、装飾図柄ならびに演出に用いる様々な表示を行うための表示装置であり、本実施例では液晶表示装置(Liquid Crystal Display)によって構成する。この装飾図柄表示装置208は、左図柄表示領域208a、中図柄表示領域208b、右図柄表示領域208cおよび演出表示領域208dの4つの表示領域に分割し、左図柄表示領域208a、中図柄表示領域208bおよび右図柄表示領域208cはそれぞれ異なった装飾図柄を表示し、演出表示領域208dは演出に用いる画像を表示する。さらに、各表示領域208a、208b、208c、208dの位置や大きさは、装飾図柄表示装置208の表示画面内で自由に変更することを可能としている。なお、装飾図柄表示装置208として液晶表示装置を採用しているが、液晶表示装置でなくとも、種々の演出や種々の遊技情報を表示可能に構成されていればよく、例えば、ドットマトリクス表示装置、7セグメント表示装置、有機EL(ElectroLuminescence)表示装置、リール(ドラム)式表示装置、リーフ式表示装置、プラズマディスプレイ、プロジェクタを含む他の表示デバイスを採用してもよい。 The effect device 206 performs the effect by operating the effect movable body 224, and details thereof will be described later. The decorative symbol display device 208 is a display device for performing various displays used for decorative symbols and effects. In this embodiment, the decorative symbol display device 208 is constituted by a liquid crystal display device (Liquid Crystal Display). The decorative symbol display device 208 is divided into four display areas, a left symbol display area 208a, a middle symbol display area 208b, a right symbol display area 208c, and an effect display area 208d, and the left symbol display area 208a and the middle symbol display area 208b. The right symbol display area 208c displays different decorative symbols, and the effect display area 208d displays an image used for the effect. Furthermore, the position and size of each display area 208a, 208b, 208c, 208d can be freely changed within the display screen of the decorative symbol display device 208. In addition, although the liquid crystal display device is employ | adopted as the decoration symbol display apparatus 208, it is not a liquid crystal display device, What is necessary is just the structure which can display various effects and various game information, for example, a dot matrix display device Other display devices including a 7-segment display device, an organic EL (ElectroLuminescence) display device, a reel (drum) display device, a leaf display device, a plasma display, and a projector may be adopted.
普図表示装置210は、普図の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。第1特図表示装置212および第2特図表示装置214は、特図の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。 The general map display device 210 is a display device for displaying a general map, and is configured by a 7-segment LED in this embodiment. The first special figure display device 212 and the second special figure display device 214 are display devices for displaying a special figure, and are configured by 7 segment LEDs in this embodiment.
普図保留ランプ216は、保留している普図変動遊技(詳細は後述)の数を示すためのランプであり、本実施例では、普図変動遊技を所定数(例えば、2つ)まで保留することを可能としている。第1特図保留ランプ218および第2特図保留ランプ220は、保留している特図変動遊技(詳細は後述)の数を示すためのランプであり、本実施例では、特図変動遊技を所定数(例えば、4つ)まで保留することを可能としている。高確中ランプ222は、遊技状態が大当りが発生し易い高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を大当りが発生し難い低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。 The multi-purpose hold lamp 216 is a lamp for indicating the number of general-purpose variable games (details will be described later) that are on hold. In this embodiment, the general-purpose variable games are reserved up to a predetermined number (for example, two). It is possible to do. The first special figure hold lamp 218 and the second special figure hold lamp 220 are lamps for indicating the number of special figure variable games (details will be described later) that are being held. In this embodiment, the special figure variable games are displayed. It is possible to hold up to a predetermined number (for example, four). The high-probability medium lamp 222 is a lamp for indicating that the gaming state is a high probability state in which a big hit is likely to occur or a high probability state, and the gaming state is changed from a low probability state in which a big hit is unlikely to occur. Turns on when switching to the probability state, and turns off when switching from the high probability state to the low probability state.
また、この演出装置206の周囲には、所定の球進入口、例えば、一般入賞口226と、普図始動口228と、第1特図始動口230と、第2特図始動口232と、可変入賞口234を配設している。 In addition, there are predetermined ball entrances, for example, a general prize opening 226, a general start port 228, a first special view start port 230, a second special view start port 232, around the effect device 206. A variable winning opening 234 is provided.
一般入賞口226は、本実施例では遊技盤200に複数配設しており、この一般入賞口226への入球を所定の球検出センサ(図示省略)が検出した場合(一般入賞口226に入賞した場合)、払出装置152を駆動し、所定の個数(例えば、10個)の球を賞球として上皿126に排出する。上皿126に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口226に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。本実施例では、入賞の対価として遊技者に払い出す球を「賞球」、遊技者に貸し出す球を「貸球」と区別して呼ぶ場合があり、「賞球」と「貸球」を総称して「球(遊技球)」と呼ぶ。 In this embodiment, a plurality of general winning holes 226 are arranged on the game board 200. When a predetermined ball detecting sensor (not shown) detects a ball entering the general winning holes 226 (in the general winning holes 226). In the case of winning, the payout device 152 is driven, and a predetermined number (for example, 10 balls) of balls are discharged to the upper plate 126 as prize balls. The player can freely take out the balls discharged to the upper plate 126. With these configurations, the player can pay out the winning balls to the player based on winning. The ball that has entered the general winning opening 226 is guided to the back side of the pachinko machine 100 and then discharged to the amusement island side. In this embodiment, a ball to be paid out to a player as a consideration for winning is sometimes referred to as a “prize ball”, and a ball lent to a player is sometimes referred to as “rental ball”. They are called “balls (game balls)”.
普図始動口228は、ゲートやスルーチャッカーと呼ばれる、遊技領域124の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施例では遊技盤200の左側に1つ配設している。普図始動口228を通過した球は一般入賞口226に入球した球と違って、遊技島側に排出することはない。球が普図始動口228を通過したことを所定の球検出センサが検出した場合、パチンコ機100は、普図表示装置210による普図変動遊技を開始する。 The normal start port 228 is constituted by a device called a gate or a through chucker for determining whether or not a ball has passed a predetermined area of the game area 124. In this embodiment, the left side of the game board 200 is used. One is arranged. Unlike the ball that has entered the general winning opening 226, the ball that has passed through the usual starting port 228 is not discharged to the amusement island side. When a predetermined ball detection sensor detects that a ball has passed through the general map starting port 228, the pachinko machine 100 starts a general map variable game by the general map display device 210.
第1特図始動口230は、本実施例では遊技盤200の中央に1つだけ配設している。この第1特図始動口230への入球を所定の球検出センサが検出した場合、後述する払出装置152を駆動し、所定の個数(例えば、3個)の球を賞球として上皿126に排出するとともに、第1特図表示装置212による特図変動遊技を開始する。なお、第1特図始動口230に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。 In the present embodiment, only one first special figure starting port 230 is disposed at the center of the game board 200. When a predetermined ball detection sensor detects a ball entering the first special figure starting port 230, a payout device 152, which will be described later, is driven, and a predetermined number (for example, three) of balls is used as a prize ball for the upper plate 126. The special figure changing game by the first special figure display device 212 is started. The ball that has entered the first special figure starting port 230 is guided to the back side of the pachinko machine 100 and then discharged to the amusement island side.
第2特図始動口232は、電動チューリップ(電チュー)と呼ばれ、本実施例では第1特図始動口230の真下に1つだけ配設している。この第2特図始動口232は、左右に開閉自在な羽根部材232aを備え、羽根部材232aの閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置210が当たり図柄を停止表示した場合に羽根部材232aが所定の時間間隔、所定の回数で開閉する。第2特図始動口232への入球を所定の球検出センサが検出した場合、払出装置152を駆動し、所定の個数(例えば、4個)の球を賞球として上皿126に排出するとともに、第2特図表示装置214による特図変動遊技を開始する。なお、第2特図始動口232に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。 The second special figure starting port 232 is called an electric tulip (electric Chu). In the present embodiment, only one second special figure starting port 232 is disposed directly below the first special figure starting port 230. The second special figure starting port 232 includes a wing member 232a that can be opened and closed to the left and right. When the wing member 232a is closed, it is impossible to enter a ball. When 210 hits and stops and displays the symbol, the blade member 232a opens and closes at a predetermined time interval and a predetermined number of times. When a predetermined ball detection sensor detects a ball entering the second special figure starting port 232, the payout device 152 is driven and a predetermined number (for example, four) of balls is discharged to the upper plate 126 as prize balls. At the same time, the special figure variation game by the second special figure display device 214 is started. The ball that has entered the second special figure starting port 232 is guided to the back side of the pachinko machine 100 and then discharged to the amusement island side.
可変入賞口234は、大入賞口またはアタッカーと呼ばれ、本実施例では遊技盤200の中央部下方に1つだけ配設している。この可変入賞口234は、開閉自在な扉部材234aを備え、扉部材234aの閉鎖中は球の入球が不可能であり、特図変動遊技に当選して特図表示装置が大当たり図柄を停止表示した場合に扉部材234aが所定の時間間隔(例えば、開放時間29秒、閉鎖時間1.5秒)、所定の回数(例えば15回)で開閉する。可変入賞口234への入球を所定の球検出センサが検出した場合、払出装置152を駆動し、所定の個数(例えば、15個)の球を賞球として上皿126に排出する。なお、可変入賞口234に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。 The variable winning opening 234 is called a large winning opening or an attacker, and in the present embodiment, only one variable winning opening 234 is disposed below the center of the game board 200. The variable winning opening 234 includes a door member 234a that can be opened and closed. When the door member 234a is closed, it is impossible to enter a ball, and the special figure display device stops the jackpot symbol when the special figure variable game is won. When displayed, the door member 234a opens and closes at a predetermined time interval (for example, an opening time of 29 seconds and a closing time of 1.5 seconds) and at a predetermined number of times (for example, 15 times). When a predetermined ball detection sensor detects a ball entering the variable winning opening 234, the payout device 152 is driven to discharge a predetermined number (for example, 15 balls) of balls to the upper plate 126 as prize balls. The ball that entered the variable winning opening 234 is guided to the back side of the pachinko machine 100 and then discharged to the amusement island side.
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材236や、遊技釘238を複数個、配設していると共に、内レール204の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機100の裏側に誘導した後、遊技島側に排出するためのアウト口を設けている。 Further, a plurality of disc-shaped hitting direction changing members 236 called a windmill and a plurality of game nails 238 are arranged in the vicinity of these winning openings and start openings, and at the bottom of the inner rail 204, After guiding a ball that has not won any prize opening or start opening to the back side of the pachinko machine 100, an out opening is provided for discharging to the game island side.
このパチンコ機100は、遊技者が上皿126に貯留している球を発射レールの発射位置に供給し、遊技者の操作ハンドルの操作量に応じた強度で発射モータを駆動し、発射杆146および発射槌148によって外レール202、内レール204を通過させて遊技領域124に打ち出す。そして、遊技領域124の上部に到達した球は、打球方向変換部材236や遊技釘238等によって進行方向を変えながら下方に落下し、入賞口(一般入賞口226、可変入賞口234)や始動口(第1特図始動口230、第2特図始動口232)に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口228を通過するのみでアウト口240に到達する。
<演出装置206>
次に、パチンコ機100の演出装置206について説明する。
This pachinko machine 100 supplies the ball stored in the upper plate 126 by the player to the launch position of the launch rail, drives the launch motor with strength according to the operation amount of the player's operation handle, and launches 146 Further, the outer rail 202 and the inner rail 204 are passed by the launcher 148 and driven into the game area 124. Then, the ball that has reached the upper part of the game area 124 falls downward while changing the advancing direction by the hitting direction changing member 236, the game nail 238, etc., and a winning opening (general winning opening 226, variable winning opening 234) or start opening (Outside the first special figure starting port 230, the second special figure starting port 232), winning out any winning port or starting port, or just passing through the normal start port 228, the out port 240 To reach.
<Directing device 206>
Next, the rendering device 206 of the pachinko machine 100 will be described.
この演出装置206の前面側には、遊技球の転動可能な領域にワープ装置242およびステージ244を配設し、遊技球の転動不可能な領域に演出可動体224を配設している。また、演出装置206の背面側には、装飾図柄表示装置208および遮蔽装置246(以下、扉と称する場合がある)を配設している。すなわち、演出装置206において、装飾図柄表示装置208および遮蔽手段は、ワープ装置242、ステージ244、および演出可動体224の後方に位置することとなる。 On the front side of the effect device 206, a warp device 242 and a stage 244 are arranged in an area where the game ball can roll, and an effect movable body 224 is arranged in an area where the game ball cannot roll. . In addition, a decorative symbol display device 208 and a shielding device 246 (hereinafter sometimes referred to as a door) are disposed on the back side of the effect device 206. That is, in the effect device 206, the decorative symbol display device 208 and the shielding means are located behind the warp device 242, the stage 244, and the effect movable body 224.
ワープ装置242は、演出装置206の左上方に設けたワープ入口242aに入った遊技球を演出装置206の前面下方のステージ244にワープ出口242bから排出する。 The warp device 242 discharges the game balls that have entered the warp inlet 242a provided at the upper left of the effect device 206 to the stage 244 below the front surface of the effect device 206 from the warp outlet 242b.
ステージ244は、ワープ出口242bから排出された球や遊技盤200の釘などによって乗り上げた球などが転動可能であり、ステージ244の中央部には、通過した球が第1特図始動口230へ入球し易くなるスペシャルルート244aを設けている。 The stage 244 can roll a ball discharged from the warp outlet 242b, a ball carried on by a nail of the game board 200, or the like, and the passed ball is a first special figure starting port 230 at the center of the stage 244. A special route 244a is provided to facilitate entry into the golf course.
演出可動体224は、本実施形態では人間の右腕の上腕と前腕を模した上腕部224aと前腕部224bとからなり、肩の位置に上腕部224aを回動させる不図示の上腕モータと肘の位置に前腕部224bを回動させる不図示の前腕モータを備える。演出可動体224は、上腕モータと前腕モータによって装飾図柄表示装置208の前方を移動する。 In this embodiment, the effect movable body 224 includes an upper arm 224a and a forearm 224b imitating the upper arm and forearm of a human right arm, and an upper arm motor and an elbow (not shown) that rotate the upper arm 224a to the position of the shoulder. A forearm motor (not shown) that rotates the forearm 224b at a position is provided. The effect movable body 224 moves in front of the decorative symbol display device 208 by the upper arm motor and the forearm motor.
遮蔽装置246は、格子状の左扉246aおよび右扉246bからなり、装飾図柄表示装置208および前面ステージ244の間に配設する。左扉246aおよび右扉246bの上部には、不図示の2つのプーリに巻き回したベルトをそれぞれ固定している。すなわち、左扉246aおよび右扉246bは、モータによりプーリを介して駆動するベルトの動作に伴って左右にそれぞれ移動する。遮蔽手段は、左扉246aおよび右扉246bを閉じた状態ではそれぞれの内側端部が重なり、遊技者が装飾図柄表示装置208を視認し難いように遮蔽する。左扉246aおよび右扉246bを開いた状態ではそれぞれの内側端部が装飾図柄表示装置208の表示画面の外側端部と若干重なるが、遊技者は装飾図柄表示装置208の表示の全てを視認可能である。また、左扉246aおよび右扉246bは、それぞれ任意の位置で停止可能であり、例えば、表示した装飾図柄がどの装飾図柄であるかを遊技者が識別可能な程度に、装飾図柄の一部だけを遮蔽するようなことができる。なお、左扉246aおよび右扉246bは、格子の孔から後方の装飾図柄表示装置208の一部を視認可能にしてもよいし、格子の孔の障子部分を半透明のレンズ体で塞ぎ、後方の装飾図柄表示装置208による表示を漠然と遊技者に視認させるようにしてもよいし、格子の孔の障子部分を完全に塞ぎ(遮蔽し)、後方の装飾図柄表示装置208を全く視認不可にしてもよい。
<制御部>
The shielding device 246 includes a lattice-like left door 246a and right door 246b, and is disposed between the decorative symbol display device 208 and the front stage 244. Belts wound around two pulleys (not shown) are fixed to the upper portions of the left door 246a and the right door 246b, respectively. That is, the left door 246a and the right door 246b move to the left and right as the belt driven by the motor through the pulley moves. When the left door 246a and the right door 246b are closed, the shielding means shields the inner end portions thereof so that it is difficult for the player to visually recognize the decorative symbol display device 208. In the state where the left door 246a and the right door 246b are opened, each inner end portion slightly overlaps the outer end portion of the display screen of the decorative symbol display device 208, but the player can visually recognize all of the display of the decorative symbol display device 208. It is. In addition, the left door 246a and the right door 246b can be stopped at arbitrary positions, respectively, for example, only a part of the decorative design so that the player can identify which decorative design the displayed decorative design is. Can be shielded. In addition, the left door 246a and the right door 246b may be configured so that a part of the decorative symbol display device 208 behind the lattice hole can be visually recognized, or the shoji part of the lattice hole is closed with a translucent lens body. The display by the decorative symbol display device 208 may be made vaguely visible to the player, or the shoji part of the holes in the lattice is completely blocked (shielded), and the decorative symbol display device 208 behind is made completely invisible. Also good.
<Control unit>
次に、図4を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。 Next, the circuit configuration of the control unit of the pachinko machine 100 will be described in detail with reference to FIG. This figure shows a circuit block diagram of the control unit.
パチンコ機100の制御部は、大別すると、主に遊技の進行(例えば、遊技者による操作の検出、遊技状態の遷移、遊技媒体の払出制御、当否判定など)を制御する主制御部300と、主制御部300が送信するコマンド信号(以下、単に「コマンド」と呼ぶ)に応じて主に演出の制御を行う第1副制御部400と、第1副制御部400より送信されたコマンドに基づいて各種機器を制御する第2副制御部500と、主制御部300が送信するコマンドに応じて主に遊技球の払い出しに関する制御を行う払出制御部600と、遊技球の発射制御を行う発射制御部630と、パチンコ機100に供給される電源を制御する電源制御部660と、によって構成している。
<主制御部>
まず、パチンコ機100の主制御部300について説明する。
The control unit of the pachinko machine 100 is roughly divided into a main control unit 300 that mainly controls the progress of a game (for example, detection of an operation by a player, transition of a game state, game medium payout control, determination of success / failure, etc.) In response to a command signal transmitted by the main control unit 300 (hereinafter simply referred to as “command”), the first sub control unit 400 that mainly controls the production and the command transmitted from the first sub control unit 400 A second sub-control unit 500 that controls various devices based on it, a payout control unit 600 that mainly performs control related to payout of game balls in accordance with a command transmitted by the main control unit 300, and a launch that controls the launch of game balls A control unit 630 and a power control unit 660 that controls the power supplied to the pachinko machine 100 are configured.
<Main control unit>
First, the main control unit 300 of the pachinko machine 100 will be described.
主制御部300は、主制御部300の全体を制御する基本回路302を備えており、この基本回路302には、CPU304と、制御プログラムや各種データを記憶するためのROM306と、一時的にデータを記憶するためのRAM308と、各種デバイスの入出力を制御するためのI/O310と、時間や回数等を計測するためのカウンタタイマ312と、プログラム処理の異常を監視するWDT314を搭載している。なお、ROM306やRAM308については他の記憶装置を用いてもよく、この点は後述する第1副制御部400についても同様である。この基本回路302のCPU304は、水晶発振器316bが出力する所定周期のクロック信号をシステムクロックとして入力して動作する。 The main control unit 300 includes a basic circuit 302 that controls the entire main control unit 300. The basic circuit 302 includes a CPU 304, a ROM 306 for storing control programs and various data, and temporary data. RAM 308 for storing data, I / O 310 for controlling input / output of various devices, counter timer 312 for measuring time and frequency, and WDT 314 for monitoring abnormalities in program processing are mounted. . Note that another storage device may be used for the ROM 306 and the RAM 308, and this is the same for the first sub-control unit 400 described later. The CPU 304 of the basic circuit 302 operates by inputting a clock signal of a predetermined period output from the crystal oscillator 316b as a system clock.
また、基本回路302には、水晶発振器316aが出力するクロック信号を受信する度に0〜65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路318(この回路には2つのカウンタを内蔵しているものとする)と、所定の球検出センサ、例えば各始動口、入賞口、可変入賞口を通過する遊技球を検出するセンサや、前面枠扉開放センサや内枠開放センサや下皿満タンセンサを含む各種センサ320が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路318および基本回路302に出力するためのセンサ回路322と、所定の図柄表示装置、例えば第1特図表示装置212や第2特図表示装置214の表示制御を行うための駆動回路324と、所定の図柄表示装置、例えば普図表示装置210の表示制御を行うための駆動回路326と、各種状態表示部328(例えば、普図保留ランプ216、第1特図保留ランプ218、第2特図保留ランプ220、高確中ランプ222等)の表示制御を行うための駆動回路330と、所定の可動部材、例えば第2特図始動口232の羽根部材232aや可変入賞口234の扉部材234a等を開閉駆動する各種ソレノイド332を制御するための駆動回路334を接続している。 In addition, the basic circuit 302 includes a counter circuit 318 used as a hardware random number counter that changes a numerical value in the range of 0 to 65535 each time a clock signal output from the crystal oscillator 316a is received (this circuit includes two circuits). And a predetermined ball detection sensor, for example, a sensor that detects a game ball passing through each start port, winning port, variable winning port, front frame door opening sensor, and inner frame opening sensor. And a sensor circuit 322 for receiving signals output from various sensors 320 including a lower plate full sensor and outputting a comparison result with an amplification result or a reference voltage to the counter circuit 318 and the basic circuit 302, and a predetermined symbol display device For example, a drive circuit 324 for performing display control of the first special figure display device 212 and the second special figure display device 214, a predetermined symbol display device, A drive circuit 326 for performing display control of the general-purpose display device 210, and various status display units 328 (for example, a general-purpose reservation lamp 216, a first special figure reservation lamp 218, a second special figure reservation lamp 220, a high-probability medium) A drive circuit 330 for performing display control of the lamp 222 and the like, and various solenoids 332 for opening and closing a predetermined movable member, for example, a blade member 232a of the second special figure starting port 232, a door member 234a of the variable winning port 234, and the like. A drive circuit 334 for controlling the above is connected.
なお、第1特図始動口230に球が入賞したことを球検出センサ320が検出した場合には、センサ回路322は球を検出したことを示す信号をカウンタ回路318に出力する。この信号を受信したカウンタ回路318は、第1特図始動口230に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第1特図始動口230に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路318は、第2特図始動口232に球が入賞したことを示す信号を受信した場合も同様に、第2特図始動口232に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第2特図始動口232に対応する内蔵のカウンタ値記憶用レジスタに記憶する。 When the ball detection sensor 320 detects that a ball has won the first special figure starting port 230, the sensor circuit 322 outputs a signal indicating that the ball has been detected to the counter circuit 318. Upon receiving this signal, the counter circuit 318 latches the value of the counter corresponding to the first special figure starting port 230 at that timing, and stores the latched value in the built-in counter value corresponding to the first special figure starting port 230. Store in the register. Similarly, when the counter circuit 318 receives a signal indicating that the second special figure starting port 232 has won a ball, the counter circuit 318 latches the value at the timing of the counter corresponding to the second special figure starting port 232. The latched value is stored in a built-in counter value storage register corresponding to the second special figure starting port 232.
さらに、基本回路302には、情報出力回路336を接続しており、主制御部300は、この情報出力回路336を介して、外部のホールコンピュータ(図示省略)等が備える情報入力回路350にパチンコ機100の遊技情報(例えば、遊技状態)を出力する。 Further, an information output circuit 336 is connected to the basic circuit 302, and the main control unit 300 is connected to an information input circuit 350 provided in an external hall computer (not shown) or the like via this information output circuit 336. The game information (for example, game state) of the machine 100 is output.
また、主制御部300には、電源制御部660から主制御部300に供給している電源の電圧値を監視する電圧監視回路338を設けており、この電圧監視回路338は、電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を基本回路302に出力する。 In addition, the main control unit 300 is provided with a voltage monitoring circuit 338 that monitors the voltage value of the power source supplied from the power source control unit 660 to the main control unit 300. The voltage monitoring circuit 338 is a voltage value of the power source. Is less than a predetermined value (9v in this embodiment), a low voltage signal indicating that the voltage has dropped is output to the basic circuit 302.
また、主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)340を設けており、CPU304は、この起動信号出力回路340から起動信号を入力した場合に、遊技制御を開始する(詳細は後述する)。 In addition, the main control unit 300 is provided with a start signal output circuit (reset signal output circuit) 340 that outputs a start signal (reset signal) when the power is turned on. When an activation signal is input, game control is started (details will be described later).
また、主制御部300は、第1副制御部400にコマンドを送信するための出力インタフェースと、払出制御部600にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、第1副制御部400および払出制御部600との通信を可能としている。なお、主制御部300と第1副制御部400および払出制御部600との情報通信は一方向の通信であり、主制御部300は第1副制御部400および払出制御部600にコマンド等の信号を送信できるように構成しているが、第1副制御部400および払出制御部600からは主制御部300にコマンド等の信号を送信できないように構成している。
<副制御部>
The main control unit 300 includes an output interface for transmitting a command to the first sub-control unit 400 and an output interface for transmitting a command to the payout control unit 600. With this configuration, the first control unit 300 Communication with the sub-control unit 400 and the payout control unit 600 is enabled. Information communication between the main control unit 300 and the first sub-control unit 400 and the payout control unit 600 is one-way communication. The main control unit 300 sends commands and the like to the first sub-control unit 400 and the payout control unit 600. The first sub control unit 400 and the payout control unit 600 are configured such that signals such as commands cannot be transmitted to the main control unit 300.
<Sub control unit>
次に、パチンコ機100の第1副制御部400について説明する。第1副制御部400は、主に主制御部300が送信したコマンド等に基づいて第1副制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、制御プログラムや各種演出データを記憶するためのROM406と、一時的にデータを記憶するためのRAM408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数等を計測するためのカウンタタイマ412を搭載している。この基本回路402のCPU404は、水晶発信器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。なお、ROM406は、制御プログラムと各種演出データとを別々のROMに記憶させてもよい。 Next, the first sub control unit 400 of the pachinko machine 100 will be described. The first sub-control unit 400 includes a basic circuit 402 that controls the entire first sub-control unit 400 mainly based on commands transmitted from the main control unit 300. The basic circuit 402 includes a CPU 404 and ROM 406 for storing control programs and various effects data, RAM 408 for temporarily storing data, I / O 410 for controlling input / output of various devices, and for measuring time, frequency, etc. The counter timer 412 is mounted. The CPU 404 of the basic circuit 402 operates by inputting a clock signal of a predetermined period output from the crystal oscillator 414 as a system clock. The ROM 406 may store the control program and various effect data in separate ROMs.
また、基本回路402には、スピーカ120(およびアンプ)の制御を行うための音源IC416と、各種ランプ418(例えば、チャンスボタンランプ138)の制御を行うための駆動回路420と、遮蔽装置246の駆動制御を行うための駆動回路432と、遮蔽装置246の現在位置を検出する遮蔽装置センサ430と、チャンスボタン136の押下を検出するチャンスボタン検出センサ426と、遮蔽装置センサ430やチャンスボタン検出センサ426からの検出信号を基本回路402に出力するセンサ回路428と、CPU404からの信号に基づいてROM406に記憶された画像データ等を読み出してVRAM436のワークエリアを使用して表示画像を生成して装飾図柄表示装置208に画像を表示するVDP434(ビデオ・ディスプレイ・プロセッサー)と、を接続している。 The basic circuit 402 includes a sound source IC 416 for controlling the speaker 120 (and amplifier), a drive circuit 420 for controlling various lamps 418 (for example, the chance button lamp 138), and a shielding device 246. A drive circuit 432 for performing drive control, a shielding device sensor 430 that detects the current position of the shielding device 246, a chance button detection sensor 426 that detects pressing of the chance button 136, a shielding device sensor 430, and a chance button detection sensor The sensor circuit 428 that outputs the detection signal from the 426 to the basic circuit 402, and the image data stored in the ROM 406 based on the signal from the CPU 404 are read, and the display image is generated using the work area of the VRAM 436 to decorate A VDP 434 (image) that displays an image on the symbol display device 208. Are connected Oh and display processor), the.
次に、パチンコ機100の第2副制御部500について説明する。第2副制御部500は、第1副制御部400が送信した制御コマンドを入力インタフェースを介して受信し、この制御コマンドに基づいて第2副制御部500の全体を制御する基本回路502を備えており、この基本回路502は、CPU504と、一時的にデータを記憶するためのRAM508と、各種デバイスの入出力を制御するためのI/O510と、時間や回数等を計測するためのカウンタタイマ512を搭載している。基本回路502のCPU504は、水晶発振器514が出力する所定周期のクロック信号をシステムクロックとして入力して動作し、第2副制御部500の全体を制御するための制御プログラム及びデータ、画像表示用のデータ等が記憶されたROM506が設けられている。 Next, the second sub control unit 500 of the pachinko machine 100 will be described. The second sub-control unit 500 includes a basic circuit 502 that receives the control command transmitted from the first sub-control unit 400 via the input interface and controls the entire second sub-control unit 500 based on the control command. The basic circuit 502 includes a CPU 504, a RAM 508 for temporarily storing data, an I / O 510 for controlling input / output of various devices, and a counter timer for measuring time and frequency 512 is installed. The CPU 504 of the basic circuit 502 operates by inputting a clock signal of a predetermined period output from the crystal oscillator 514 as a system clock, and controls a control program and data for controlling the entire second sub-control unit 500, and an image display A ROM 506 storing data and the like is provided.
また、基本回路502には、演出可動体224の駆動制御を行うための駆動回路516と、演出可動体224の現在位置を検出する演出可動体センサ424と、演出可動体センサ424からの検出信号を基本回路502に出力するセンサ回路518と、遊技盤用ランプ532の制御を行うための遊技盤用ランプ駆動回路530と、遊技台枠用ランプ542の制御を行うための遊技台枠用ランプ駆動回路540と、遊技盤用ランプ駆動回路530と遊技台枠用ランプ駆動回路540との間でシリアル通信による点灯制御を行うシリアル通信制御回路520と、を接続している。
<払出制御部、発射制御部、電源制御部>
The basic circuit 502 includes a drive circuit 516 for controlling the drive of the effect movable body 224, an effect movable body sensor 424 that detects the current position of the effect movable body 224, and a detection signal from the effect movable body sensor 424. Is output to the basic circuit 502, a game board lamp drive circuit 530 for controlling the game board lamp 532, and a game table frame lamp drive for controlling the game table frame lamp 542 The circuit 540 is connected to a serial communication control circuit 520 that performs lighting control by serial communication between the game board lamp drive circuit 530 and the game stand frame lamp drive circuit 540.
<Discharge control unit, launch control unit, power supply control unit>
次に、パチンコ機100の払出制御部600、発射制御部630、電源制御部660について説明する。 Next, the payout control unit 600, the launch control unit 630, and the power supply control unit 660 of the pachinko machine 100 will be described.
払出制御部600は、主に主制御部300が送信したコマンド等の信号に基づいて払出装置152の払出モータ602を制御すると共に、払出センサ604が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部606を介して、パチンコ機100とは別体で設けられたカードユニット608との通信を行う。 The payout control unit 600 controls the payout motor 602 of the payout device 152 mainly based on a command signal or the like transmitted from the main control unit 300, and a prize ball or a rental ball based on a control signal output from the payout sensor 604 It is detected whether or not the payout has been completed, and communication with a card unit 608 provided separately from the pachinko machine 100 is performed via the interface unit 606.
発射制御部630は、払出制御部600が出力する、発射許可または停止を指示する制御信号や、球発射ハンドル134内に設けた発射強度出力回路が出力する、遊技者による球発射ハンドル134の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆146および発射槌148を駆動する発射モータ632の制御や、上皿126から発射装置110に球を供給する球送り装置634の制御を行う。 The launch control unit 630 outputs a control signal output from the payout control unit 600 to permit or stop the launch, or a launch intensity output circuit provided in the ball launch handle 134 to operate the ball launch handle 134 by the player. Control of the launch motor 632 that drives the launcher 146 and launcher 148, and control of the ball feeder 634 that supplies the launcher 110 with a ball from the upper plate 126 based on a control signal that indicates the launch intensity according to the amount. I do.
電源制御部660は、パチンコ機100に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部300、第1副制御部400等の各制御部や払出装置152等の各装置に供給する。さらに、電源制御部660は、外部からの電源が断たれた後も所定の部品(例えば主制御部300のRAM308等)に所定の期間(例えば10日間)電源を供給するための蓄電回路(例えば、コンデンサ)を備えている。なお、本実施形態では、電源制御部660から払出制御部600と第2副制御部500に所定電圧を供給し、払出制御部600から主制御部300と第2副制御部500と発射制御部630に所定電圧を供給しているが、各制御部や各装置に他の電源経路で所定電圧を供給してもよい。
<図柄の種類>
The power control unit 660 converts the AC power supplied from the outside to the pachinko machine 100 into a DC voltage, converts it to a predetermined voltage, and controls each control unit such as the main control unit 300 and the first sub control unit 400, the payout device 152, etc. Supply to each device. Further, the power supply control unit 660 supplies a power storage circuit (for example, a power supply circuit) for supplying power to a predetermined part (for example, the RAM 308 of the main control unit 300) for a predetermined period (for example, 10 days) even after the external power supply is cut off. , Capacitor). In the present embodiment, a predetermined voltage is supplied from the power supply control unit 660 to the payout control unit 600 and the second sub control unit 500, and the main control unit 300, the second sub control unit 500, and the launch control unit are supplied from the payout control unit 600. Although the predetermined voltage is supplied to 630, the predetermined voltage may be supplied to each control unit and each device through another power supply path.
<Type of design>
次に、図5(a)〜(c)を用いて、パチンコ機100の第1特別図柄表示装置212、第2特別図柄表示装置214、装飾図柄表示装置208、普通図柄表示装置210が停止表示する特図および普図の種類について説明する。 同図(a)は特図の停止図柄態様の一例を示したものである。 Next, using FIGS. 5A to 5C, the first special symbol display device 212, the second special symbol display device 214, the decorative symbol display device 208, and the normal symbol display device 210 of the pachinko machine 100 are stopped and displayed. The types of special maps and general maps to be described will be described. FIG. 4A shows an example of the stop symbol form of the special figure.
第1特図始動口230に球が入球したことを第1始動口センサが検出したことを条件として特図1変動遊技が開始され、第2特図始動口232に球が入球したことを第2始動口センサが検出したことを条件として特図2変動遊技が開始される。特図1変動遊技が開始されると、第1特別図柄表示装置212は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「特図1の変動表示」を行う。また、特図2変動遊技が開始されると、第2特別図柄表示装置214は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「特図2の変動表示」を行う。これらの「特図1の変動表示」および「特図2の変動表示」が本発明にいう図柄の変動表示の一例に相当する。そして、特図1の変動開始前に決定した変動時間(本発明にいう変動時間が相当)が経過すると、第1特別図柄表示装置212は特図1の停止図柄態様を停止表示し、特図2の変動開始前に決定した変動時間(これも本発明にいう変動時間が相当)が経過すると、第2特別図柄表示装置214は特図2の停止図柄態様を停止表示する。したがって、「特図1の変動表示」を開始してから特図1の停止図柄態様を停止表示するまで、あるいは「特図2の変動表示」を開始してから特図2の停止図柄態様を停止表示するまでが本発明にいう図柄変動停止表示の一例に相当し、以下、この「特図1又は2の変動表示」を開始してから特図1又は2の停止図柄態様を停止表示するまでの一連の表示を図柄変動停止表示と称する。後述するように、図柄変動停止表示は複数回、連続して行われることがある。同図(a)には、図柄変動停止表示における停止図柄態様として「特図A」から「特図J」までの10種類の特図が示されており、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。 The special figure 1 variable game is started on the condition that the first start port sensor detects that the ball has entered the first special figure start port 230, and the ball has entered the second special figure start port 232 The special figure 2 variable game is started on the condition that the second start port sensor has detected. When the special figure 1 variable game is started, the first special symbol display device 212 performs “variable display of special figure 1” by repeating all lighting of seven segments and lighting of one central segment. In addition, when the special figure 2 variable game is started, the second special symbol display device 214 displays “fluctuation display of special figure 2” which repeats lighting of all seven segments and lighting of one central segment. Do. These “variation display of special figure 1” and “variation display of special figure 2” correspond to an example of the symbol fluctuation display according to the present invention. Then, when the variation time determined before the variation start of the special figure 1 (corresponding to the variation time referred to in the present invention) elapses, the first special symbol display device 212 stops and displays the special symbol form of the special figure 1. When the variation time determined before the start of variation 2 (this also corresponds to the variation time according to the present invention) has elapsed, the second special symbol display device 214 stops and displays the stop symbol form of the special diagram 2. Therefore, from the start of “figure display of special figure 1” until the stop symbol form of special figure 1 is stopped, or after the start of “fluctuation display of special figure 2”, the stop symbol form of special figure 2 is displayed. Until stop display corresponds to an example of the symbol variation stop display referred to in the present invention, hereinafter, after the “variable display of special figure 1 or 2” is started, the stop symbol form of special figure 1 or 2 is stopped and displayed. The series of displays up to is referred to as symbol variation stop display. As will be described later, the symbol variation stop display may be continuously performed a plurality of times. FIG. 10A shows 10 types of special drawings from “Special Figure A” to “Special Figure J” as stop symbol forms in the symbol variation stop display, and the white portions in the figure are turned off. The location of the segment to be displayed is shown, and the black portion indicates the location of the segment to be lit.
「特図A」は15ラウンド(15R)特別大当たり図柄であり、「特図B」は15R大当たり図柄である。本実施形態のパチンコ機100では、後述するように、特図変動遊技における大当りか否かの決定はハードウェア乱数の抽選によって行い、特別大当りか否かの決定はソフトウェア乱数の抽選によって行う。大当りと特別大当りの違いは、次回の特図変動遊技で、大当りに当選する確率が高い(特別大当り)か低い(大当り)かの違いである。以下、この大当りに当選する確率が高い状態のことを特図高確率状態と称し、その確率が低い状態のことを特図低確率状態と称する。また、15R特別大当たり遊技終了後および15R大当たり遊技終了後はいずれも時短状態に移行する。時短については詳しくは後述するが、時短状態に移行する状態のことを普図高確率状態と称し、時短状態に移行しない状態のことを普図低確率状態と称する。15R特別大当たり図柄である「特図A」は、特図高確率普図高確率状態であり、15R大当たり図柄である「特図B」は、特図低確率普図高確率状態である。これらの「特図A」および「特図B」は、遊技者に付与する利益量が相対的に大きな利益量になる図柄である。 “Special Figure A” is a 15 round (15R) special jackpot symbol, and “Special Figure B” is a 15R jackpot symbol. In the pachinko machine 100 according to the present embodiment, as will be described later, the determination as to whether or not the big hit in the special figure variable game is made by lottery of hardware random numbers, and the decision as to whether or not it is a special big hit is made by lottery of software random numbers. The difference between the jackpot and the special jackpot is the difference in whether the probability of winning the jackpot is high (special jackpot) or low (jackpot) in the next special figure variation game. Hereinafter, a state having a high probability of winning the jackpot is referred to as a special figure high probability state, and a state having a low probability is referred to as a special figure low probability state. Moreover, after the 15R special jackpot game ends and after the 15R jackpot game ends, both shift to the time-saving state. Although the time reduction will be described in detail later, the state that shifts to the time reduction state is referred to as a normal high probability state, and the state that does not shift to the time reduction state is referred to as a normal low probability state. “Special figure A”, which is a 15R special jackpot symbol, is a special figure high probability normal figure high probability state, and “Special figure B”, which is a 15R jackpot symbol, is a special figure low probability ordinary figure high probability state. These “special chart A” and “special chart B” are symbols that give a relatively large profit amount to the player.
「特図C」は突然確変と称される2R大当たり図柄であり、特図高確率普図高確率状態である。すなわち、15Rである「特図A」と比べて、「特図C」は2Rである点が異なる。「特図D」は突然時短と称される2R大当たり図柄であり、特図低確率普図高確率状態である。すなわち、15Rである「特図B」と比べて、「特図D」は2Rである点が異なる。 “Special figure C” is a 2R jackpot symbol called sudden probability change, and is a special figure high probability normal figure high probability state. That is, “Special Figure C” is 2R compared to “Special Figure A” which is 15R. "Special figure D" is a 2R jackpot symbol called sudden time reduction, and is a special figure low probability normal figure high probability state. That is, “Special Figure D” is 2R compared to “Special Figure B” which is 15R.
「特図E」は隠れ確変と称される2R大当たり図柄であり、特図高確率普図低確率状態である。「特図F」は突然通常と称される2R大当たり図柄であり、特図低確率普図低確率状態である。これら「特図E」および「特図F」はいずれも、2Rであるとともに、時短状態に移行しない状態である。 “Special figure E” is a 2R jackpot symbol called hidden probability change, and is a special figure high probability normal figure low probability state. "Special figure F" is a 2R jackpot symbol suddenly called normal, and is a special figure low probability normal figure low probability state. These “special drawing E” and “special drawing F” are both 2R and are in a state in which they do not shift to the time-saving state.
「特図G」は第1小当たり図柄であり、「特図H」は第2小当たり図柄であり、何れも特図低確率普図低確率状態である。ここにいう小当たりは、2R時短無し大当たりと同じものに相当する。すなわち、この「特図G」、「特図H」は「特図F」と同じ状態であるが、両者では装飾図柄表示装置208に表示される演出が異なり、あえて、同じ状態でも「特図G」、「特図H」と「特図F」を設けておくことで、遊技の興趣を高めている。 "Special figure G" is a first small hit symbol, and "Special figure H" is a second small hit symbol, both of which are in a special figure low probability normal figure low probability state. The small hit here is equivalent to the same short hit big hit with 2R. That is, “Special Figure G” and “Special Figure H” are in the same state as “Special Figure F”, but the effects displayed on the decorative symbol display device 208 are different in both cases. By providing “G”, “Special Figure H”, and “Special Figure F”, the interest of the game is enhanced.
また、「特図I」は第1はずれ図柄であり、「特図J」は第2はずれ図柄であり、遊技者に付与する利益量が相対的に小さな利益量になる図柄である。 In addition, “Special Figure I” is a first off symbol, and “Special Figure J” is a second off symbol, and the profit amount given to the player is a relatively small profit amount.
なお、本実施形態のパチンコ機100には、15R特別大当たり図柄として「特図A」以外の図柄も用意されており、15R大当たり図柄等の他の図柄についても同様である。 In the pachinko machine 100 of the present embodiment, symbols other than “Special Figure A” are prepared as 15R special jackpot symbols, and the same applies to other symbols such as 15R jackpot symbols.
図5(b)は装飾図柄の一例を示したものである。本実施形態の装飾図柄には、「装飾1」〜「装飾10」の10種類がある。第1特図始動口230または第2特図始動口232に球が入賞したこと、すなわち、第1特図始動口230に球が入球したことを第1始動口センサが検出したこと、あるいは第2特図始動口232に球が入球したことを第2始動口センサが検出したことを条件にして、装飾図柄表示装置208の左図柄表示領域208a、中図柄表示領域208b、右図柄表示領域208cの各図柄表示領域に、「装飾1」→「装飾2」→「装飾3」→・・・・「装飾9」→「装飾10」→「装飾1」→・・・の順番で表示を切り替える「装飾図柄の変動表示」を行う。そして、「特図B」の15R大当たりを報知する場合には、図柄表示領域208a〜208cに15R大当たりに対応する、同じ装飾図柄が3つ並んだ図柄組合せ(例えば「装飾1−装飾1−装飾1」や「装飾2−装飾2−装飾2」等)を停止表示する。「特図A」の15R特別大当たりを報知する場合には、同じ奇数の装飾図柄が3つ並んだ図柄組合せ(例えば「装飾3−装飾3−装飾3」や「装飾7−装飾7−装飾7」等)を停止表示する。 FIG. 5B shows an example of a decorative design. There are 10 types of decoration patterns of the present embodiment: “Decoration 1” to “Decoration 10”. The first start port sensor detects that a ball has won the first special figure start port 230 or the second special view start port 232, that is, the ball has entered the first special view start port 230; or On the condition that the second start port sensor detects that a ball has entered the second special symbol start port 232, the left symbol display area 208a, the middle symbol display area 208b, and the right symbol display of the decorative symbol display device 208 are displayed. Displayed in the order of “decoration 1” → “decoration 2” → “decoration 3” →... “Decoration 9” → “decoration 10” → “decoration 1” →... “Decoration display of decorative pattern” is performed. When the 15R jackpot of “Special Figure B” is notified, a symbol combination (for example, “decoration 1—decoration 1—decoration”) corresponding to the 15R jackpot corresponding to the 15R jackpot is displayed in the symbol display areas 208a to 208c. 1 ”or“ decoration 2—decoration 2—decoration 2 ”). When the 15R special jackpot of “special drawing A” is notified, a combination of three symbols of the same odd number of decorative symbols (for example, “decoration 3—decoration 3—decoration 3” or “decoration 7—decoration 7—decoration 7”). Etc.) is stopped and displayed.
また、「特図E」の隠れ確変と称される2R大当たり、「特図F」の突然通常と称される2R大当たり、あるいは「特図G」の第1小当たり、「特図H」の第2小当たりを報知する場合には、「装飾1−装飾2−装飾3」を停止表示する。さらに、「特図C」の突然確変と称される2R大当たり、あるいは「特図D」の突然時短と称される2R大当たりを報知する場合には、「装飾1−装飾3−装飾5」を停止表示する。一方、「特図I」の第1はずれ、「特図J」の第2はずれを報知する場合には、図柄表示領域208a〜208cに同図(b)に示す図柄組合せ以外の図柄組合せを停止表示する。 In addition, the 2R jackpot called “hidden probability change” of “Special Figure E”, the 2R jackpot called “Special Figure F” suddenly, or the first small hit of “Special Figure G”, “Special Figure H” When notifying the second small hit, “decoration 1-decoration 2—decoration 3” is stopped and displayed. Furthermore, in order to notify the 2R jackpot called “sudden change” of “special drawing C” or the 2R jackpot called “sudden time reduction” of “special drawing D”, “decoration 1-decoration 3—decoration 5” is displayed. Stop display. On the other hand, when notifying the first deviation of “Special Figure I” and the second deviation of “Special Figure J”, the symbol combination other than the symbol combination shown in FIG. 5B is stopped in the symbol display areas 208a to 208c. indicate.
図5(c)は普図の停止表示図柄の一例を示したものである。本実施形態の普図の停止表示態様には、当たり図柄である「普図A」と、外れ図柄である「普図B」の2種類がある。普図始動口228を球が通過したことを上述のゲートセンサが検出したことに基づいて、普通図柄表示装置210は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す「普図の変動表示」を行う。そして、普図変動遊技の当選を報知する場合には「普図A」を停止表示し、普図変動遊技の外れを報知する場合には「普図B」を停止表示する。この同図(c)においても、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
<主制御部の基本回路>
FIG.5 (c) shows an example of the usual stop display symbol. In the present embodiment, there are two types of stoppage display modes for ordinary maps: “general diagram A” which is a winning symbol and “general symbol B” which is a missed symbol. Based on the fact that the above-mentioned gate sensor has detected that a sphere has passed through the general-purpose start opening 228, the normal symbol display device 210 repeats all lighting of the seven segments and lighting of the central one segment. Perform a “normal change display”. Then, when notifying the winning of the common figure variable game, the “normal figure A” is stopped and displayed, and when notifying the usual figure variable game, the “normal figure B” is stopped and displayed. Also in FIG. 6C, the white portions in the figure indicate the locations of the segments that are turned off, and the black portions indicate the locations of the segments that are turned on.
<Basic circuit of main control unit>
次に、上述の主制御部300の基本回路302について詳細に説明する。図6は、主制御部300から基本回路302の主要部のみを抜き出して示した図である。 Next, the basic circuit 302 of the main controller 300 will be described in detail. FIG. 6 is a diagram showing only the main part of the basic circuit 302 extracted from the main control part 300.
主制御部300の基本回路302は、主制御部300全体の制御を行うCPU304と、CPU304が実行する制御プログラムやCPU304が参照する各種データを記憶するためのROM306と、CPU304が一時的にデータを記憶するためのRAM308と、を有している。
<主制御部のCPUの内蔵レジスタ>
The basic circuit 302 of the main control unit 300 includes a CPU 304 that controls the entire main control unit 300, a ROM 306 that stores a control program executed by the CPU 304 and various data referred to by the CPU 304, and the CPU 304 temporarily stores data. RAM 308 for storing.
<Built-in register of CPU of main control unit>
CPU304は、カウンタ回路、タイマ回路、シリアル通信回路、乱数回路、演算回路、リセット/割込みコントローラ等を制御するための制御レジスタのほか、CPU304が制御プログラムを実行する際に使用するレジスタなどの内蔵レジスタを備える。内蔵レジスタには、本発明の特徴点の一つであるTレジスタ(特殊レジスタ)と、汎用レジスタと、プログラムカウンタ(PC)、命令レジスタ等が含まれる。汎用レジスタの種類は特に限定されないが、本実施形態では、Iレジスタ、Aレジスタ、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタの8ビットレジスタを備えており、BレジスタとCレジスタ、DレジスタとEレジスタ、HレジスタとLレジスタは、それぞれ、16ビット長の演算が可能なBCレジスタ、DEレジスタ、HLレジスタの16ビットレジスタ(ペアレジスタ)としても機能するように構成されている。 The CPU 304 is a control register for controlling a counter circuit, a timer circuit, a serial communication circuit, a random number circuit, an arithmetic circuit, a reset / interrupt controller, and the like, and a built-in register such as a register used when the CPU 304 executes a control program Is provided. The built-in registers include a T register (special register), a general purpose register, a program counter (PC), an instruction register, etc., which are one of the features of the present invention. The type of general-purpose register is not particularly limited, but in this embodiment, an 8-bit register including an I register, an A register, an F register, a B register, a C register, a D register, an E register, an H register, and an L register is provided. The B and C registers, the D and E registers, and the H and L registers also function as 16-bit registers (pair registers) of the BC, DE, and HL registers that can perform 16-bit operations, respectively. It is configured.
また、本実施形態では、内蔵デバイスが出力する割込みベクタ(所定のデバイスから読み込んだ割込みベクタ)の値を下位8ビット、Iレジスタ(割込みベクタレジスタ、インタラプトレジスタ)の内容を上位8ビットとした合計16ビットのアドレスを、割込処理のアドレスとして読み込んで、後述する割込処理に分岐(ジャンプ)するように構成している。例えば、Iレジスタの値が00H、割込みベクタの値が60Hのときに割込処理の要求が発生した場合には、0060H(上位バイトがIレジスタの00H、下位バイトが割込みベクタの60H)で示されるアドレスに記憶された値(例えば、12H)を下位バイト、続く0061Hで示されるアドレスに記憶された値(例えば、04H)を上位バイトとする2バイトのアドレス(例えば、0412H)がPCにロードされ、このアドレスを先頭アドレスとする割込処理に分岐(ジャンプ)するように構成している。 In this embodiment, the value of the interrupt vector (interrupt vector read from a predetermined device) output from the built-in device is the lower 8 bits, and the content of the I register (interrupt vector register, interrupt register) is the upper 8 bits. A 16-bit address is read as an interrupt processing address, and is branched (jumped) to an interrupt processing to be described later. For example, when an interrupt processing request is generated when the value of the I register is 00H and the value of the interrupt vector is 60H, this is indicated by 0060H (the upper byte is 00H of the I register and the lower byte is 60H of the interrupt vector). A 2-byte address (for example, 0412H) is loaded to the PC with the value (for example, 12H) stored at the address to be stored as the lower byte, and the value (for example, 04H) stored at the address indicated by 0061H as the upper byte. Thus, a branch (jump) is made to an interrupt process using this address as the head address.
Fレジスタは、命令が実行されると、その実行結果に従ってFレジスタ内のビット7から順にSフラグ(サインフラグ)、Zフラグ(ゼロフラグ)、SZフラグ(セカンドゼロフラグ)、Hフラグ(ハーフキャリフラグ)、ビット3(空きビット)、P/Vフラグ(パリティ/オーバーフローフラグ)、Nフラグ(サブトラクトフラグ)、Cフラグ(キャリーフラグ)の各フラグが、1または0に変化したり、あるいは変化しなかったりする。SZフラグは、Zフラグが変化する命令ではZフラグ同様に変化するとともに、Z80互換命令の全てのLD命令、全ての16ビット算術演算命令(INC命令、DEC命令も含む)、ローテートシフト命令のRLCA命令、RLA命令、RRCA命令、RRA命令、「IN A,(n)」命令で変化する。 When an instruction is executed, the F register sequentially executes the S flag (sign flag), Z flag (zero flag), SZ flag (second zero flag), H flag (half carry flag) from bit 7 in the F register according to the execution result. , Bit 3 (empty bit), P / V flag (parity / overflow flag), N flag (subtract flag), and C flag (carry flag) change to 1 or 0 or do not change Or The SZ flag changes in the same way as the Z flag for instructions that change the Z flag, and all LD instructions of Z80 compatible instructions, all 16-bit arithmetic operation instructions (including INC instructions and DEC instructions), and RLCA of rotate shift instructions. It changes with an instruction, an RLA instruction, an RRCA instruction, an RRA instruction, and an “INA, (n)” instruction.
なお、16ビット演算命令のADC命令、SBC命令は、Zフラグが変化し、他の命令ではZフラグは変化せず、16ビット演算命令の全てでSZフラグは変化する。また、「IN A,(n)」命令は、SZフラグが変化し、Zフラグが変化しない。Fレジスタ内のSZフラグや空きビットの位置は上記したビット以外のビットであってもよい。なお、後述する特殊命令の場合にSZフラグが変化しないようにしてもよい。 Note that the 16-bit arithmetic instruction ADC instruction and SBC instruction change the Z flag, the other instructions do not change the Z flag, and the 16-bit arithmetic instruction changes the SZ flag. In addition, in the “INA, (n)” instruction, the SZ flag changes and the Z flag does not change. The position of the SZ flag or empty bit in the F register may be a bit other than the above-described bits. Note that the SZ flag may not be changed in the case of a special instruction described later.
また、本実施形態では、A、F、B、C、D、E、H、Lの各汎用レジスタ(主レジスタ)に対応する補助レジスタ(裏レジスタ)として、A´、F´、B´、C´、D´、E´、H´、L´の各汎用レジスタを備えているが、特殊レジスタであるTレジスタのみ補助レジスタを備えていない。よって、Tレジスタの使用用途は限定され、Tレジスタの使用頻度は汎用レジスタに比べて低くなるため、不用意にTレジスタの値が書き換えられてしまうような事態(Tレジスタの内容が破壊されてしまうような事態)を未然に防止できる場合がある。なお、補助レジスタの値は各種命令によって直接読み書きすることができず、特殊な交換命令(EX命令、EXX命令)によって主レジスタの値と補助レジスタの値を交換することのみが許されている。ここでは、説明の便宜上、レジスタの値をPUSH命令・POP命令等の命令で変更し易いレジスタを汎用レジスタとしたが、これに限らず、Aレジスタ(アキュムレータ)とFレジスタ(フラグレジスタ)など特別な役割を持つレジスタを汎用レジスタに含めなくてもよい。 In the present embodiment, A ′, F ′, B ′, A ′, F ′, B ′, A ′, F ′, B ′, A, F, B, C, D, E, H, and L are used as auxiliary registers (back registers) corresponding to the general-purpose registers (main registers). Each of the general-purpose registers C ′, D ′, E ′, H ′, and L ′ is provided, but only the T register that is a special register is not provided with an auxiliary register. Therefore, the usage of the T register is limited, and the usage frequency of the T register is lower than that of the general-purpose register. Therefore, a situation in which the value of the T register is inadvertently rewritten (the contents of the T register are destroyed). Situation) can be prevented in advance. Note that the value of the auxiliary register cannot be directly read / written by various instructions, and only the value of the main register and the value of the auxiliary register are allowed to be exchanged by a special exchange instruction (EX instruction, EXX instruction). Here, for convenience of explanation, a register whose register value can be easily changed by an instruction such as a PUSH instruction / POP instruction is a general-purpose register. However, the present invention is not limited to this, and special registers such as an A register (accumulator) and an F register (flag register) are used. It is not necessary to include a register having a role as a general-purpose register.
また、ここでは、TレジスタをCPU304に内蔵する例を示したが、例えば、CPU304の外部に設けてもよいし、CPU304とは別体のRAM308の一部に設けてもよい。すなわち、Tレジスタは、制御プログラムを記憶するための記憶手段(本実施形態ではROM306)と物理的に異なる場所に設けられていることが好ましい。さらには、Tレジスタに(後述する)特定の値を書き込む処理を行う制御部と、ROM306から制御プログラムを読み出して遊技制御を行う制御部と、が異なることが好ましい。制御部を異ならせることで、制御プログラムの改造と特定の値の不正取得の両方を行うことを困難にすることができるためである。
<主制御部のCPUのメモリ空間とI/O空間>
Although an example in which the T register is built in the CPU 304 is shown here, for example, the T register may be provided outside the CPU 304 or may be provided in a part of the RAM 308 separate from the CPU 304. That is, it is preferable that the T register is provided at a location physically different from storage means (ROM 306 in the present embodiment) for storing the control program. Furthermore, it is preferable that a control unit that performs a process of writing a specific value (described later) in the T register is different from a control unit that reads a control program from the ROM 306 and performs game control. This is because it is possible to make it difficult to perform both modification of the control program and illegal acquisition of a specific value by making the control unit different.
<Memory space and I / O space of CPU of main controller>
次に、図7を用いて、主制御部300のCPU304のメモリ空間とI/O空間について説明する。なお、同図(a)はCPU304のメモリマップを示した図であり、同図(b)はCPU304のI/Oマップを示した図である。 Next, the memory space and I / O space of the CPU 304 of the main control unit 300 will be described with reference to FIG. 2A is a diagram showing a memory map of the CPU 304, and FIG. 2B is a diagram showing an I / O map of the CPU 304.
主制御部300のCPU304は、上述の内蔵レジスタ、ROM306、RAM308などにアクセスするためのメモリ空間と、上述のI/O310との間で制御信号の入出力を行うためのI/O空間を有している。具体的には、同図(a)のメモリマップに示すように、主制御部300のROM306のアドレス/データ信号線は、メモリ空間のROM領域(本実施形態では、0000H〜2FFFH(Hは16進数を示す。以下、同じ)のうち、0000H〜2FBFH。2FC0H〜2FFFHはプログラム管理エリア)に割り当てられ、CPU304は、このROM領域を指定してROM306からのデータの読み出しを行う。また、本実施形態では、ROM領域を第一領域〜第八領域の8つの領域に分けて管理を行っており、第一領域は0000Hから始まる領域としている。 The CPU 304 of the main control unit 300 has a memory space for accessing the above-described built-in registers, ROM 306, RAM 308, etc., and an I / O space for inputting / outputting control signals to / from the above-mentioned I / O 310. doing. Specifically, as shown in the memory map of FIG. 6A, the address / data signal line of the ROM 306 of the main control unit 300 is the ROM area of the memory space (0000H to 2FFFH (H is 16 in this embodiment)). 0000H to 2FBFH, 2FC0H to 2FFFH are assigned to the program management area), and the CPU 304 reads the data from the ROM 306 by designating this ROM area. In the present embodiment, the ROM area is divided into eight areas from the first area to the eighth area for management, and the first area is an area starting from 0000H.
また、内蔵レジスタのアドレス/データ信号線は、メモリ空間のレジスタエリア(本実施形態では、FE00H〜FEBFH)に割り当てられ、CPU304は、このレジスタエリアを介して内蔵レジスタからのデータの読み出しやレジスタへのデータの書き込みを行う。 The address / data signal line of the built-in register is assigned to a register area in the memory space (in this embodiment, FE00H to FEBFH), and the CPU 304 reads data from the built-in register to this register area and sends it to the register. Write the data.
また、RAM308のアドレス/データ信号線は、メモリ空間のRWM領域(本実施形態では、F000H〜F3FFH)に割り当てられ、CPU304は、このRWM領域を指定してRAM308からのデータの読み出しやRAM308へのデータの書き込みを行う。なお、メモリ空間の他の領域(本実施形態では、3000H〜EFFFH、F4000H〜FDFFH、FEC0H〜FFFFH)は非使用領域とされている。 Further, the address / data signal line of the RAM 308 is assigned to the RWM area (F000H to F3FFH in this embodiment) of the memory space, and the CPU 304 designates this RWM area and reads data from the RAM 308 and sends it to the RAM 308. Write data. Note that other areas of the memory space (in this embodiment, 3000H to EFFFH, F4000H to FDFFH, FEC0H to FFFFH) are unused areas.
また、同図(b)のI/Oマップに示すように、主制御部300のI/O310は、I/O空間のワークエリア(本実施形態では、00H〜BFH)に割り当てられ、CPU304は、このI/O空間を介して、I/O310との間で制御信号の入出力を行う。なお、I/O空間の他の領域(本実施形態では、0C0H〜FFH)は非使用領域とされている。
<初期化処理>
Also, as shown in the I / O map of FIG. 10B, the I / O 310 of the main control unit 300 is assigned to the work area of the I / O space (in this embodiment, 00H to BFH). The control signal is input / output to / from the I / O 310 via the I / O space. In addition, the other area | region (0C0H-FFH in this embodiment) of I / O space is made into the non-use area | region.
<Initialization process>
次に、図8を用いて、主制御部300の初期化処理について説明する。なお、同図は初期化処理の流れを示すフローチャートである。 Next, the initialization process of the main control unit 300 will be described with reference to FIG. This figure is a flowchart showing the flow of initialization processing.
上述したように、主制御部300には、電源が投入されると起動信号(システムリセット信号)を出力する起動信号出力回路(リセット信号出力回路)340を設けている。この起動信号を入力した基本回路302のCPU304は、後述するセキュリティモードまたはユーザモードに移行する前に、この初期化処理を実行する。 As described above, the main control unit 300 is provided with the start signal output circuit (reset signal output circuit) 340 that outputs the start signal (system reset signal) when the power is turned on. The CPU 304 of the basic circuit 302 to which this activation signal is input executes this initialization process before shifting to a security mode or a user mode described later.
具体的には、ステップS51では、CPU304に内蔵されたTレジスタに、特定の値(本実施形態では、上述のRWM領域の先頭アドレス7E00Hの上位バイトであるF0H)を記憶する。ステップS52では、Tレジスタ以外の他のレジスタに初期値をセットした後にステップS53に進み、後述する主制御部メイン処理を実行する。 Specifically, in step S51, a specific value (in this embodiment, F0H which is the upper byte of the start address 7E00H of the RWM area described above) is stored in the T register built in the CPU 304. In step S52, an initial value is set in a register other than the T register, and then the process proceeds to step S53 to execute a main control unit main process described later.
なお、Tレジスタに記憶する特定の値はF0Hに限定されないことは言うまでもなく、例えば、上述のレジスタエリアの先頭アドレス(本実施形態では2000H)の上位バイトである20HをTレジスタに記憶するように構成すれば、後述するRAM308へのアクセスと同様の原理で、内蔵レジスタへのアクセス効率を高めることができる場合がある。また、第一のタイミングではTレジスタにRWM領域の先頭アドレスの上位バイトを設定し、その後(または、その前)の第二のタイミングでTレジスタにレジスタエリアの先頭アドレスの上位バイトを設定するように構成してもよい。また、所定条件が成立している場合(例えば、所定の端子にLレベルの信号が入力されている場合)にはTレジスタにRWM領域の先頭アドレスの上位バイトを設定し、所定条件が成立していない場合には、Tレジスタにレジスタエリアの先頭アドレスの上位バイトを設定するように構成してもよい。 Needless to say, the specific value stored in the T register is not limited to F0H. For example, 20H which is the upper byte of the start address (2000H in the present embodiment) of the register area is stored in the T register. If configured, the access efficiency to the built-in register may be improved by the same principle as the access to the RAM 308 described later. At the first timing, the upper byte of the head address of the RWM area is set in the T register, and the upper byte of the head address of the register area is set in the T register at the second timing thereafter (or before). You may comprise. In addition, when a predetermined condition is satisfied (for example, when an L level signal is input to a predetermined terminal), the upper byte of the leading address of the RWM area is set in the T register, and the predetermined condition is satisfied. If not, the upper byte of the start address of the register area may be set in the T register.
また、この初期化処理において制御プログラムによらずに(自動的に)TレジスタにRWM領域の先頭アドレスの上位バイトを設定(または/およびTレジスタにレジスタエリアの先頭アドレスの上位バイトを設定)し、この初期化処理後に制御プログラム(例えば、後述するステップS101の初期設定1処理、ステップS107の初期設定2処理、ステップS113の初期化処理など)によって(手動で)Tレジスタにレジスタエリアの先頭アドレスの上位バイトを設定(または/およびTレジスタにRWM領域の先頭アドレスの上位バイトを設定)するように構成してもよい。 In this initialization process, the upper byte of the start address of the RWM area is set in the T register (or / and the upper byte of the start address of the register area is set in the T register) without depending on the control program. Then, after this initialization processing, the start address of the register area in the T register (manually) by a control program (for example, initial setting 1 processing in step S101 described later, initial setting 2 processing in step S107, initialization processing in step S113, etc.) May be configured (or / and / or the upper byte of the start address of the RWM area is set in the T register).
ここで、上述のリセット割込みには、システムリセット割込み(システムリセット端子に一定期間のリセット信号を入力するなど、外部イベントが要因となって行われるリセット割込み)と、ユーザリセット割込み(ユーザリセット端子に一定期間のリセット信号を入力するなど、外部イベントが要因となって行われるリセット割り込みや、WDTのタイムアウトや指定エリア外のアクセスなど、内部イベントが要因となって行われるリセット割込み)の2種類の割込みがある。システムリセット割込みによるリセットでは、制御レジスタや汎用レジスタを含む全ての内部回路が初期化され(例えば、レジスタに応じた初期値(例えばIレジスタに00Hがセットされる))、ユーザリセット割込みによるリセットでは、内部回路の一部が初期化される。 Here, the above-mentioned reset interrupt includes a system reset interrupt (a reset interrupt caused by an external event such as inputting a reset signal for a certain period to the system reset terminal) and a user reset interrupt (a user reset terminal). There are two types of reset interrupts that are triggered by an external event, such as inputting a reset signal for a certain period, and reset interrupts that are triggered by an internal event, such as a WDT timeout or access outside a specified area) There is an interrupt. In a reset by a system reset interrupt, all internal circuits including a control register and a general-purpose register are initialized (for example, an initial value corresponding to the register (for example, 00H is set in the I register)). A part of the internal circuit is initialized.
図9は、システムリセット後の起動処理のタイムチャートである。システムリセット(XSRST端子に所定期間(例えば、システムクロックの4周期分の期間)以上のLレベルの信号が入力された後にHレベルの信号が入力された場合)による初期化処理を実行した後は、所定条件が成立している場合(例えば、所定の端子にLレベルの信号が入力されている場合)はセキュリティモードに移行し、所定条件が成立していない場合はユーザモードに移行する。ここで、セキュリティモードは、ユーザプログラムの認証を行うモードである。具体的には、システムリセット入力時にユーザプログラムを基に計算された認証コードが正しいかどうかの再計算を行い、結果(セキュリティチェックの結果)がOK(異常なし)の場合、このモードを終了して自動的にユーザモードに移行可能とし、セキュリティチェックの結果がNG(異常あり)の場合、CPU304が停止するように構成している。なお、認証コードは、ROM書き込み時にユーザプログラム(以下、「制御プログラム」と称する場合がある)とともにROM306に書き込まれる。 FIG. 9 is a time chart of the startup process after system reset. After executing an initialization process by a system reset (when an H level signal is input after an L level signal is input to the XSRST terminal for a predetermined period (for example, a period of four cycles of the system clock)) When the predetermined condition is satisfied (for example, when an L level signal is input to a predetermined terminal), the process shifts to the security mode, and when the predetermined condition is not satisfied, the process shifts to the user mode. Here, the security mode is a mode for authenticating the user program. Specifically, when the system reset is input, re-calculate whether the authentication code calculated based on the user program is correct. If the result (security check result) is OK (no abnormality), this mode is terminated. When the security check result is NG (abnormal), the CPU 304 is configured to stop. The authentication code is written in the ROM 306 together with the user program (hereinafter sometimes referred to as “control program”) when writing into the ROM.
このセキュリティモードにおいてセキュリティチェックが終了した後、一定の期間の経過を待つ固定延長処理(以下、「固定遅延機能」ともいう)が終了したときにXRSTO端子からHレベルのリセット出力を出力し、その後、ランダムな期間の経過を待つランダム延長処理(以下、「ランダム遅延機能」ともいう)が終了した場合にユーザモードに移行するように構成されている(固定延長処理とランダム延長処理を合わせて「セキュリティモード延長処理」や「セキュリティモード延長機能」ともいう)。ユーザモードは、ROMのリセットアドレス(上述のROM領域の第一領域の先頭アドレスである0000H)からユーザプログラムを実行するモードであり、後述する主制御部メイン処理が開始される。なお、本実施形態では、CPU304がユーザプログラムを実行する際に1回の処理(1ステート)で命令レジスタに読みこむデータのバイト長を1バイト(8ビット)長としているが、1ステート当りのデータ長は特に限定されず、例えば、16ビット長や32ビット長でもよい。 After the security check is finished in this security mode, when the fixed extension process (hereinafter also referred to as “fixed delay function”) waiting for a certain period of time is finished, an H level reset output is output from the XRSTO terminal, and thereafter When the random extension process (hereinafter also referred to as “random delay function”) that waits for the passage of a random period is completed, it is configured to shift to the user mode (a combination of the fixed extension process and the random extension process) Security mode extension processing ”or“ security mode extension function ”). The user mode is a mode in which the user program is executed from the reset address of the ROM (0000H, which is the first address of the first area of the ROM area described above), and main control unit main processing described later is started. In this embodiment, when the CPU 304 executes the user program, the byte length of data read into the instruction register in one process (one state) is 1 byte (8 bits). The data length is not particularly limited, and may be 16 bits or 32 bits, for example.
また、本実施形態では、上述の初期化処理はセキュリティモードやユーザモードへの移行前に(自動的に(制御プログラムによらずに))実行されるように構成しているが、セキュリティモードやユーザモードへの移行後に実行されるよう構成してもよい。また、リセットの種類(ユーザリセット割込みの場合には割込み要因の種類)によって、初期化処理の実行タイミングが異なるように構成してもよい。 In the present embodiment, the above-described initialization process is configured to be executed (automatically (regardless of the control program)) before shifting to the security mode or the user mode. You may comprise so that it may be performed after transfering to user mode. Further, the initialization processing execution timing may be different depending on the type of reset (the type of interrupt factor in the case of a user reset interrupt).
具体的には、直前に発生したリセット要因を管理するためのレジスタ(内蔵レジスタのうちの一つである)を参照して、直前に発生したリセット要因が(1)システムリセットであるか否か、(2)WDTのタイムアウトによるユーザリセットであるか否か、(3)指定エリア外のアクセスによるユーザリセットであるか否か、を判定し、判定結果に応じて初期化処理の実行タイミングを決定するように構成してもよい。また、初期化処理でセットされる特定の値と初期値は、リセットの種類やレジスタの種類によって異なるように構成してもよい(例えば、汎用レジスタはシステムリセットでもユーザリセットでも初期値として00Hがセットされ、Tレジスタはシステムリセット時は特定の値としてF0Hがセットされるがユーザリセット時は初期化されないように構成してもよい)。 Specifically, referring to a register (one of the built-in registers) for managing the reset factor that occurred immediately before, whether or not the reset factor that occurred immediately before is (1) a system reset. (2) It is determined whether or not a user reset is caused by a timeout of WDT, and (3) whether or not a user reset is caused by access outside the designated area, and the execution timing of the initialization process is determined according to the determination result. You may comprise. In addition, the specific value and the initial value set in the initialization process may be configured to be different depending on the type of reset and the type of register (for example, a general-purpose register has 00H as an initial value in both system reset and user reset). The T register is set such that F0H is set as a specific value at the time of system reset, but may not be initialized at the time of user reset).
また、セキュリティモードの時間は、設定した時間分だけ延長することも、ランダムな時間分だけ延長することも可能である。ランダムな時間分だけ延長することにより、不正行為者はユーザプログラムの開始タイミングが狙いにくくなる場合がある。また、ユーザリセット(例えばWDTのタイムアウトによるリセット)からユーザプログラムの実行開始までの時間をランダムな時間に設定可能な構成としてもよい。このような構成とすれば、ユーザプログラムの開始タイミングを狙った不正行為を未然に防止できる場合がある。
<主制御部メイン処理>
The security mode time can be extended by a set time or can be extended by a random time. By extending by a random amount of time, it may be difficult for the fraudster to aim at the start timing of the user program. Moreover, it is good also as a structure which can set the time from user reset (for example, reset by timeout of WDT) to the start of execution of a user program to random time. With such a configuration, there is a case where fraud aimed at the start timing of the user program can be prevented in advance.
<Main control unit main processing>
次に、図10を用いて、主制御部300のCPU304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。 Next, main control unit main processing executed by the CPU 304 of the main control unit 300 will be described with reference to FIG. This figure is a flowchart showing the flow of main processing of the main control unit.
ステップS101では、初期設定1を行う。この初期設定1では、CPU304のスタックポインタ(SP)へのスタック初期値の設定(仮設定)、割込マスクの設定、I/O310の初期設定、RAM308に記憶する各種変数の初期設定、WDT314の起動やタイマアウト時間の設定、Tレジチェック処理(詳細は後述)等を行う。本実施形態では、WDT314のタイムアウト時間として32.8msに相当する数値を初期値として設定する。なお、ここでは、WDT314の起動とタイムアウト時間の設定を、主制御部メイン処理のメインループに入る直前で行う例を示したが、例えば、上述の初期化処理など、他の処理の中で行ってもよい。また、ステップS103では、WDT314のカウンタの値をクリアし、WDT314による時間計測を再始動(リスタート)する。なお、WDT314のクリア&リスタートをメインループ開始直後に行う例を示したが、例えば、後述する主制御部タイマ割込処理の中で定期的に行ってもよい。 In step S101, initial setting 1 is performed. In this initial setting 1, setting of a stack initial value (temporary setting) to the stack pointer (SP) of the CPU 304, setting of an interrupt mask, initial setting of the I / O 310, initial setting of various variables stored in the RAM 308, and setting of the WDT 314 Start-up, timer-out time setting, T-registration check processing (details will be described later), and the like are performed. In the present embodiment, a numerical value corresponding to 32.8 ms is set as an initial value as the timeout time of the WDT 314. In this example, the WDT 314 is activated and the timeout time is set immediately before entering the main loop of the main control unit main process. However, for example, it is performed in other processes such as the initialization process described above. May be. In step S103, the counter value of WDT 314 is cleared, and the time measurement by WDT 314 is restarted. In addition, although the example which performs clear & restart of WDT314 immediately after a main loop start was shown, you may perform regularly in the main control part timer interruption process mentioned later, for example.
また、図示は省略するが、基本回路302は、WDT314を制御するレジスタとして、スタートレジスタとクリアレジスタを備えている。スタートレジスタは、WDT314の起動/停止を制御するための8ビット長のレジスタであり、WDT314を起動するときには起動を指示する値(例えば、CCh)を設定し(書き込み)、WDT314を停止するときには停止を指示する値(例えば、33h)を設定するように構成されている。 Although not shown, the basic circuit 302 includes a start register and a clear register as registers for controlling the WDT 314. The start register is an 8-bit register for controlling the start / stop of the WDT 314. When starting the WDT 314, a value (for example, CCh) instructing the start is set (written) and stopped when the WDT 314 is stopped. Is set so as to set a value (for example, 33h).
また、このスタートレジスタは、リセット時にプログラム管理エリアに「ソフトウェアによる起動」を設定(選択)したときに有効となるレジスタであり、その場合、停止を指示する値(例えば、33h)が初期値として設定される。したがって、「ソフトウェアによる起動」を設定(選択)したときにWDT314を起動するためには、遊技制御プログラムによって(手動で)起動を指示する値(例えば、CCh)を設定する必要がある。一方、リセット時に「ソフトウェアによる起動」を設定(選択)しなかったときは、スタートレジスタには、起動を指示する値(例えば、CCh)が遊技制御プログラムによらずに(自動的に)初期値として設定され、遊技制御プログラムによらずに(自動的に)WDT314が起動される。 This start register is valid when “start by software” is set (selected) in the program management area at the time of reset. In this case, a stop instruction value (for example, 33h) is set as an initial value. Is set. Therefore, in order to activate WDT 314 when “activation by software” is set (selected), it is necessary to set a value (for example, CCh) instructing activation by the game control program (manually). On the other hand, when “activation by software” is not set (selected) at the time of resetting, a value instructing activation (for example, CCh) is an initial value (automatically) regardless of the game control program. The WDT 314 is activated (automatically) regardless of the game control program.
クリアレジスタは、WDT314のクリアとリスタートを制御するための8ビット長のレジスタであり、所定の第一の値(例えば、55h)を設定した後に、所定の第二の値(例えば、AAh)を設定したときにWDT314がクリアされ、直後にリスタートされる。なお、クリアレジスタの値を読み込んだときは、所定の固定値(例えば、FFh)が読みだされる。また、詳細は後述するが、本実施形態では、CPU304の所定記憶領域に、4ビット長の設定値データ0000B〜1000Bのいずれかを予め設定することによって、WDT314のタイムアウト時間を自由に設定できるように構成されている(図115参照)。 The clear register is an 8-bit register for controlling clearing and restarting of the WDT 314, and after setting a predetermined first value (for example, 55h), a predetermined second value (for example, AAh) Is set, WDT 314 is cleared and restarted immediately after. When the value of the clear register is read, a predetermined fixed value (for example, FFh) is read. Although details will be described later, in the present embodiment, the time-out time of the WDT 314 can be freely set by presetting any of the 4-bit length setting value data 0000B to 1000B in the predetermined storage area of the CPU 304. (See FIG. 115).
ステップS105では、低電圧信号がオンであるか否か、すなわち、電圧監視回路338が、電源制御部660から主制御部300に供給している電源の電圧値が所定の値(本実施形態では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(CPU304が電源の遮断を検知した場合)にはステップS103に戻り、低電圧信号がオフの場合(CPU304が電源の遮断を検知していない場合)にはステップS107に進む。なお、電源が投入された直後で未だ上記所定の値(9V)に達しない場合にもステップS103に戻り、供給電圧がその所定の値以上になるまで、ステップS105は繰り返し実行される。 In step S105, whether or not the low voltage signal is on, that is, the voltage value of the power supply that the voltage monitoring circuit 338 supplies from the power supply control unit 660 to the main control unit 300 is a predetermined value (in this embodiment, 9v), it is monitored whether or not a low voltage signal indicating that the voltage has dropped is output. Then, when the low voltage signal is on (when the CPU 304 detects that the power supply is cut off), the process returns to step S103, and when the low voltage signal is off (when the CPU 304 does not detect that the power supply is cut off), the step is performed. The process proceeds to S107. Even when the predetermined value (9 V) is not yet reached immediately after the power is turned on, the process returns to step S103, and step S105 is repeatedly executed until the supply voltage becomes equal to or higher than the predetermined value.
ステップS107では、初期設定2を行う。この初期設定2では、後述する主制御部タイマ割込処理を定期毎に実行するための周期を決める数値をカウンタタイマ312に設定する処理、I/O310の所定のポート(例えば試験用出力ポート、第1副制御部400への出力ポート)からクリア信号を出力する処理、RAM308への書き込みを許可する設定等を行う。 In step S107, initial setting 2 is performed. In this initial setting 2, a process for setting a numerical value for determining a cycle for executing a main control unit timer interrupt process, which will be described later, in the counter timer 312 and a predetermined port of the I / O 310 (for example, a test output port, A process of outputting a clear signal from the output port to the first sub control unit 400, a setting for permitting writing to the RAM 308, and the like are performed.
ステップS109では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(主制御部300の基本回路302を初期状態にする場合)には初期化処理(ステップS113)に進む。 In step S109, it is determined whether or not to return to the state before power interruption (before power interruption), and the state before power interruption is not restored (when the basic circuit 302 of the main control unit 300 is set to the initial state). ) Proceeds to an initialization process (step S113).
具体的には、最初に、電源基板に設けたRWMクリアスイッチ180を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、基本回路302を初期状態にすべくステップS113に進む。一方、RAMクリア信号がオフの場合(RAMクリアが必要でない場合)には、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップS113に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が特定の値(例えば0)の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS111に進み、チェックサムの結果が特定の値(例えば0)以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS113に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS113に進む。 Specifically, first, a RAM clear signal transmitted when a store clerk or the like of an amusement store operates the RWM clear switch 180 provided on the power supply board is turned on (indicates that there has been an operation). That is, it is determined whether or not the RAM clear is necessary. If the RAM clear signal is on (when the RAM clear is necessary), the process proceeds to step S113 to set the basic circuit 302 to the initial state. On the other hand, when the RAM clear signal is OFF (when the RAM clear is not necessary), the power status information stored in the power status storage area provided in the RAM 308 is read, and the power status information is information indicating suspend. It is determined whether or not. If the power status information is not information indicating suspend, the process proceeds to step S113 to set the basic circuit 302 to an initial state. If the power status information is information indicating suspend, a predetermined area of the RAM 308 is set. A checksum is calculated by adding all the 1-byte data stored in (for example, all areas) to a 1-byte register whose initial value is 0, and the calculated checksum results in a specific value (for example, 0) (whether or not the checksum result is normal). When the checksum result is a specific value (eg, 0) (when the checksum result is normal), the process proceeds to step S111 to return to the state before the power interruption, and the checksum result is a specific value. If the value is other than 0 (for example, 0) (if the result of the checksum is abnormal), the process proceeds to step S113 to set the pachinko machine 100 to the initial state. Similarly, when the power status information indicates information other than “suspend”, the process proceeds to step S113.
ステップS111では、復電時処理を行う。この復電時処理では、電断時にRAM308に設けられたスタックエリアに記憶しておいたスタックポインタの値を読み出し、スタックポインタに再設定(本設定)する。また、後述するように、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた所定のレジスタの値を読み出し、これらのレジスタに再設定した後、割込許可(EI)の設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割込処理(後述)に分岐する直前に行った(ステップS115内の所定の)命令の次の命令から処理を再開する。 In step S111, power recovery processing is performed. In this power recovery process, the value of the stack pointer stored in the stack area provided in the RAM 308 at the time of power interruption is read and reset to the stack pointer (this setting). Also, as will be described later, the values of predetermined registers stored in the register save area provided in the RAM 308 at the time of power interruption are read out, reset to these registers, and then the interrupt permission (EI) is set. Do. Thereafter, as a result of the CPU 304 executing the control program based on the reset stack pointer and registers, the pachinko machine 100 returns to the state when the power is turned off. That is, the processing is resumed from the instruction next to the instruction (predetermined in step S115) performed immediately before branching to the timer interrupt process (described later) immediately before the power interruption.
本実施形態に係るCPU304は、PUSH命令として、「PUSH TI」命令、「PUSH ALL」命令、「PUSH GRP」命令を備えている。「PUSH TI」命令は、T、Iレジスタに記憶されている値を上述のスタックエリアに退避させる命令であり、具体的には、PUSH命令実行時のスタックポインタをSPとした場合、PUSH命令実行時にTレジスタに記憶されている値を、(SP−1)で示されるアドレスに退避させ、PUSH命令実行時にIレジスタに記憶されている値を、(SP−2)で示されるアドレスに退避させる。また、「PUSH ALL」命令は、PUSH命令実行時にT、I、A、F、B、C、D、E、H、L、IXH、IXL、IYH、IYLレジスタに記憶されている値を、この順番でスタックエリアに退避させる命令である。また、「PUSH GRP」命令は、PUSH命令実行時にA、F、B、C、D、E、H、Lレジスタに記憶されている値を、この順番でスタックエリアに退避させる命令である。 The CPU 304 according to the present embodiment includes a “PUSH TI” instruction, a “PUSH ALL” instruction, and a “PUSH GRP” instruction as PUSH instructions. The “PUSH TI” instruction is an instruction for saving the values stored in the T and I registers to the above-described stack area. Specifically, when the stack pointer at the time of executing the PUSH instruction is SP, the PUSH instruction is executed. Sometimes the value stored in the T register is saved to the address indicated by (SP-1), and the value stored in the I register when the PUSH instruction is executed is saved to the address indicated by (SP-2). . Further, "PUSH ALL" instruction, T at PUSH instruction is executed, I, A, F, B , C, D, E, H, L, IX H, IX L, IY H, stored in the IY L register This is an instruction to save values in the stack area in this order. The “PUSH GRP” instruction is an instruction for saving the values stored in the A, F, B, C, D, E, H, and L registers in the stack area in this order when the PUSH instruction is executed.
また、CPU304は、POP命令として、「POP TI」命令、「POP ALL」命令、「POP GRP」命令を備えている。「POP TI」命令は、スタックエリアに記憶されている値をT、Iレジスタに復帰させる(RAM308の記憶領域からT、Iレジスタにデータをロードする)命令であり、具体的には、POP命令実行時のスタックポインタをSPとした場合、POP命令実行時に(SP−1)で示されるアドレスに記憶されている値をTレジスタに復帰させ、POP命令実行時に(SP−2)で示されるアドレスに記憶されている値をIレジスタに復帰させる。また、「POP ALL」命令は、POP命令実行時にスタックエリアに記憶されている値を、T、I、A、F、B、C、D、E、H、L、IXH、IXL、IYH、IYLレジスタに復帰させる命令である。また、「PUSH GRP」命令は、POP命令実行時にスタックエリアに記憶された値を、A、F、B、C、D、E、H、Lレジスタに復帰させる命令である。 Further, the CPU 304 includes a “POP TI” command, a “POP ALL” command, and a “POP GRP” command as POP commands. The “POP TI” instruction is an instruction that restores the value stored in the stack area to the T and I registers (loads data from the storage area of the RAM 308 to the T and I registers). When the stack pointer at the time of execution is SP, the value stored at the address indicated by (SP-1) is restored to the T register when the POP instruction is executed, and the address indicated by (SP-2) when the POP instruction is executed. The value stored in is returned to the I register. In addition, the “POP ALL” instruction uses the values stored in the stack area when the POP instruction is executed as T, I, A, F, B, C, D, E, H, L, IX H , IX L , IY. This is an instruction to restore the H and IY L registers. Further, the “PUSH GRP” instruction is an instruction for returning the value stored in the stack area to the A, F, B, C, D, E, H, and L registers when the POP instruction is executed.
なお、Tレジスタをスタックエリアから復帰させるためには、「POP TI」命令を使用する必要があるが、Iレジスタを使用しない場合でも、Iレジスタにもスタックエリアの値が復帰されてしまうことになる。このように、Tレジスタをオペランドとする命令の汎用性を無くすことによって(使い難くすることによって)、Tレジスタをオペランドとする命令が多用されることを未然に防ぐことができ、Tレジスタの値が不用意に書き替ってしまうような事態(Tレジスタの内容が破壊されてしまうような事態)を回避できる場合がある。 In order to restore the T register from the stack area, it is necessary to use the “POP TI” instruction. However, even if the I register is not used, the value of the stack area is also restored to the I register. Become. In this way, by eliminating the generality of the instruction using the T register as an operand (making it difficult to use), it is possible to prevent the instruction using the T register as an operand from being frequently used. May be rewritten inadvertently (a situation where the contents of the T register are destroyed).
また、CPU304は、割込み要求の受付を許可する命令(EI命令)と、割込み要求の受付を禁止する命令(DI命令)を備えており、上述の「POP TI」命令は、DI命令によって割込み要求の受付が禁止されている場合にのみ実行するように構成され、EI命令によって割込み要求の受付が許可されている場合に実行しないように構成されている。このように、割込み要求の受付が許可されている状態において「POP TI」命令の実行しないように構成すれば、「POP TI」命令の実行によって、割込みベクタレジスタやインタラプトレジスタとして機能するIレジスタに、スタックエリアから予期しない値が復帰されてしまうおそれがなく、割込み処理を確実に実行することで信頼性の高い遊技制御を行うことができる場合がある。 The CPU 304 includes an instruction that permits acceptance of an interrupt request (EI instruction) and an instruction that prohibits acceptance of an interrupt request (DI instruction). The above-described “POP TI” instruction is an interrupt request by a DI instruction. It is configured to execute only when reception of the request is prohibited, and is configured not to execute when reception of the interrupt request is permitted by the EI instruction. As described above, if the “POP TI” instruction is not executed when the acceptance of the interrupt request is permitted, the execution of the “POP TI” instruction causes the interrupt register to function as an interrupt vector register or an interrupt register. In some cases, an unexpected value may not be restored from the stack area, and reliable game control can be performed by reliably executing the interrupt processing.
また、CPU304は、上述の命令の他にも、8ビットロード(転送)命令、16ビットロード(転送)命令、スタック操作命令、8ビット算術論理演算命令、16ビット算術論理演算命令、乗算・除算命令、アキュムレータ操作命令、MPUコントロール命令、交換命令、ブロック転送命令、ブロックサーチ命令、ビット操作命令、ローテート・シフト命令、無条件ジャンプ命令・条件付きジャンプ命令、コール命令・リターン命令、入出力命令、複合命令などを備えている。 In addition to the above-described instructions, the CPU 304 also loads an 8-bit load (transfer) instruction, a 16-bit load (transfer) instruction, a stack operation instruction, an 8-bit arithmetic logic operation instruction, a 16-bit arithmetic logic operation instruction, multiplication / division Instruction, accumulator operation instruction, MPU control instruction, exchange instruction, block transfer instruction, block search instruction, bit operation instruction, rotate / shift instruction, unconditional jump instruction / conditional jump instruction, call instruction / return instruction, input / output instruction, It has compound instructions.
本実施形態では、電断時には、「PUSH GRP」命令によってT、Iレジスタを含まない、A、F、B、C、D、E、H、Lレジスタの値をスタックエリアに退避(記憶)させ、復電時には、「POP GRP」命令によってT、Iレジスタを含まない、A、F、B、C、D、E、H、Lレジスタの値をスタックエリアから復帰させるように構成しており、Tレジスタについては「PUSH GRP」命令による退避と「POP GRP」命令による復帰の両方ができないように構成している(これらの命令のオペランドとしてTレジスタが指定できないように構成している)。また、本実施形態では、加算命令(INC命令)や減算命令(DEC命令)のオペランドとしてもTレジスタが指定できないように構成している。後述するように、TレジスタはRAM308へのアクセスにおいて重要な役割を果たす特殊レジスタであるが、コーディングミスなどによってTレジスタに予期しない値が設定されてしまうような事態を確実に回避することができ、安定した遊技制御が可能である。また、TレジスタについてはPUSH命令による退避とPOP命令による復帰の両方を行わないため、電断時や復帰時の処理を速めることができる場合がある。 In this embodiment, when power is interrupted, the values of the A, F, B, C, D, E, H, and L registers that do not include the T and I registers are saved (stored) in the stack area by the “PUSH GRP” instruction. When power is restored, the “POP GRP” instruction is used to restore the values of the A, F, B, C, D, E, H, and L registers from the stack area, not including the T and I registers. The T register is configured so that both saving by the “PUSH GRP” instruction and restoration by the “POP GRP” instruction cannot be performed (the T register cannot be specified as an operand of these instructions). In this embodiment, the T register cannot be specified as an operand of an addition instruction (INC instruction) or a subtraction instruction (DEC instruction). As will be described later, the T register is a special register that plays an important role in accessing the RAM 308. However, a situation in which an unexpected value is set in the T register due to a coding error or the like can be surely avoided. Stable game control is possible. In addition, since the T register is not both saved by the PUSH instruction and restored by the POP instruction, the processing at the time of power interruption or restoration may be accelerated.
また、主制御部300における基本回路302に搭載されているRAM308には、送信情報記憶領域が設けられている。このステップS111では、その送信情報記憶領域に、復電コマンドをセットする。この復電コマンドは、電源断時の状態に復帰したことを表すコマンドであり、後述する、主制御部300のタイマ割込処理におけるステップS233において、第1副制御部400へ送信される。また、ステップS116では、RAMクリアの場合はRAMクリアした後に、RAMクリアしない場合は各レジスタへデータを復帰させた後に、WDT314の起動開始を行う。 The RAM 308 mounted on the basic circuit 302 in the main control unit 300 is provided with a transmission information storage area. In step S111, a power recovery command is set in the transmission information storage area. This power recovery command is a command indicating that the power has been restored to the state at the time of power-off, and is transmitted to the first sub-control unit 400 in step S233 in the timer interrupt process of the main control unit 300 described later. In step S116, if the RAM is cleared, the RAM is cleared. If not, the WDT 314 is started after the data is restored to each register.
ステップS113では、初期化処理を行う。この初期化処理では、割込禁止(DI)の設定、スタックポインタへのスタック初期値の設定(本設定)、RAM308の全ての記憶領域の初期化などを行う。さらにここで、主制御部300のRAM308に設けられた送信情報記憶領域に正常復帰コマンドをセットする。この正常復帰コマンドは、主制御部300の初期化処理(ステップS113)が行われたことを表すコマンドであり、復電コマンドと同じく、主制御部300のタイマ割込処理におけるステップS233において、第1副制御部400へ送信される。また、ステップS114では、RAMクリアの場合はRAMクリアした後に、RAMクリアしない場合は各レジスタへデータを復帰させた後に、WDT314の起動開始を行う。 In step S113, initialization processing is performed. In this initialization processing, interrupt prohibition (DI) setting, stack initial value setting to the stack pointer (this setting), initialization of all storage areas of the RAM 308, and the like are performed. Further, here, a normal return command is set in the transmission information storage area provided in the RAM 308 of the main control unit 300. This normal return command is a command indicating that the initialization process (step S113) of the main control unit 300 has been performed, and in the same way as the power recovery command, in step S233 in the timer interrupt process of the main control unit 300, 1 is transmitted to the sub-control unit 400. In step S114, if the RAM is cleared, the RAM is cleared. If not, the WDT 314 is started after the data is restored to each register.
ステップS115では、割込禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための2つの初期値生成用乱数カウンタと、普図タイマ乱数値、および特図タイマ乱数値それぞれを生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0〜100とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。なお、初期値生成用乱数カウンタは、後述するステップS207でも更新する。主制御部300は、所定の周期ごとに開始するタイマ割込処理を行っている間を除いて、ステップS115の処理を繰り返し実行する。
<Tレジチェック処理>
In step S115, after setting for prohibition of interruption, a basic random number initial value update process is performed. In this basic random number initial value update process, two initial value generation random number counters for generating the initial values of the ordinary figure winning random number counter and the special figure random value counter, the ordinary figure timer random number value, and the special figure timer, respectively. Two random number counters for generating each random value are updated. For example, if the range of values that can be taken as a normal timer random number value is 0 to 100, a value is acquired from a random number counter storage area for generating a normal timer random value provided in the RAM 308, and 1 is added to the acquired value. Then, it is stored in the original random number counter storage area. At this time, if the result of adding 1 to the acquired value is 101, 0 is stored in the original random number counter storage area. Other initial value generation random number counters and random number counters are similarly updated. Note that the initial value generation random number counter is also updated in step S207 described later. The main control unit 300 repeatedly executes the process of step S115 except during a timer interrupt process that starts every predetermined period.
<T cash register check processing>
図11(a)は、初期設定1で行うTレジチェック処理の流れを示すフローチャートであり、同図(b)は、Tレジチェック処理のプログラムリストの一例である。 FIG. 11A is a flowchart showing the flow of the T registration check process performed in the initial setting 1, and FIG. 11B is an example of a program list of the T registration check process.
このTレジチェック処理のステップS131では、Tレジスタの値をAレジスタにセットし(LD A,T)、次のステップS132では、Aレジスタの値が特定の値(F0H)に一致するか否かを判定し(SUB F0H、JP Z,SEIJYOU)、一致しない場合(異常の場合;Aレジスタの値から特定の値(F0H)を減算した値が0以外の値となりZフラグが0になった場合)にはステップS133に進み、一致した場合(正常の場合;Aレジスタの値から特定の値(F0H)を減算した値が0となりZフラグが1になった場合)には、Tレジスタの値が正常であると判定してTレジチェック処理を終了し、後続の処理に進む。ステップS133では、Tレジスタの値が異常であると判定してTレジスタに特定の値(F0H)をセットした後に(LD T,F0H)、Tレジチェック処理を終了して後続の処理に進む。 In step S131 of the T registration check process, the value of the T register is set in the A register (LD A, T). In the next step S132, whether or not the value of the A register matches a specific value (F0H). (SUB F0H, JP Z, SEIJYOU) If they do not match (in case of abnormality; the value obtained by subtracting a specific value (F0H) from the value in register A becomes a value other than 0 and the Z flag becomes 0) ) Proceeds to step S133, and if they match (if normal; the value obtained by subtracting a specific value (F0H) from the value of the A register becomes 0 and the Z flag becomes 1), the value of the T register Is determined to be normal, the T registration check process is terminated, and the process proceeds to the subsequent process. In step S133, after determining that the value of the T register is abnormal and setting a specific value (F0H) in the T register (LD T, F0H), the T registration check process is terminated and the process proceeds to the subsequent process.
なお、Tレジチェック処理は図11に示す処理に限定されるものではなく、例えば、図11に示すような処理でもよい。図11(a)は、変形例に係るTレジチェック処理の流れを示すフローチャートであり、同図(b)は、変形例に係るTレジチェック処理のプログラムリストの一例である。 Note that the T-registration check process is not limited to the process shown in FIG. 11, and may be a process as shown in FIG. FIG. 11A is a flowchart showing a flow of a T-registration check process according to the modification, and FIG. 11B is an example of a program list of the T-registration check process according to the modification.
この変形例に係るTレジチェック処理では、上記ステップS133の処理に替えて、ステップS135のエラー処理を行うように構成している。具体的には、ステップS132においてAレジスタの値が特定の値(F0H)に一致しないと判定した場合(異常の場合;Aレジスタの値から特定の値(F0H)を減算した値が0以外の値となりZフラグが0になった場合)にはステップS135に進みエラー処理を行う(SUB F0H、JP NZ,moError)。このエラー処理の内容は特に限定されないが、例えば、無限ループに入って後続の主制御部メイン処理を実行しないように構成したり、後続の主制御部メイン処理において液晶表示装置やスピーカなどを用いてエラーを報知したりすることが考えられる。
<LD命令>
In the T-registration check process according to this modification, the error process in step S135 is performed instead of the process in step S133. Specifically, when it is determined in step S132 that the value of the A register does not match the specific value (F0H) (in the case of abnormality; the value obtained by subtracting the specific value (F0H) from the value of the A register is other than 0) If the value becomes Z and the Z flag becomes 0), the process proceeds to step S135 to perform error processing (SUB F0H, JP NZ, moError). The content of this error processing is not particularly limited. For example, the error processing is configured not to enter the infinite loop and execute the subsequent main control unit main processing, or to use a liquid crystal display device or a speaker in the subsequent main control unit main processing. It may be possible to report an error.
<LD instruction>
次に、主制御部300が備えるLD命令について説明する。LD命令(LD OP1,OP2)は、第1オペランドOP1で示されるレジスタに、第2オペランドOP2で示されるレジスタに記憶された値(または、第2オペランドOP2で示されるイミディエイト値(即値または直値ともいう。以下同じ)を記憶するための命令である。例えば、上述のTレジチェック処理の実行前にTレジスタにF0Hが記憶されている状態で「LD A,T」の命令を実行した場合、Aレジスタには第2オペランドで示されるTレジスタに記憶された値、すなわちF0Hが記憶される。また、「LD A,F0H」の命令を実行した場合にも、Aレジスタには第2オペランドで示されるイミディエイト値、すなわちF0Hが記憶される。 Next, the LD command provided in the main control unit 300 will be described. The LD instruction (LD OP1, OP2) is stored in the register indicated by the first operand OP1, the value stored in the register indicated by the second operand OP2 (or the immediate value (immediate value or immediate value) indicated by the second operand OP2. For example, when the instruction “LD A, T” is executed in a state where F0H is stored in the T register before the execution of the T-registration check process described above. The value stored in the T register indicated by the second operand, that is, F0H is stored in the A register, and when the instruction “LD A, F0H” is executed, the second operand is also stored in the A register. Is stored, that is, F0H is stored.
一方、第1オペランドOP1をTレジスタとするLD命令では、第2オペランドはイミディエイト値に限定されており、第2オペランドにレジスタを設定することは禁止されている(機械語にアセンブルされる過程でエラーとなりアセンブルすることができない)。したがって、上述のTレジチェック処理で説明したように、第2オペランドをイミディエイト値とするLD命令(先の例では「LD T,F0H」)のプログラミング(コーディング)は認められるが、第2オペランドにレジスタを設定するLD命令(例えば「LD T,A」)のプログラミング(コーディング)は認められない。このように、第1オペランドOP1をTレジスタとするLD命令では、Tレジスタに対して直値でデータを転送するよう構成されているので、セットしているデータを確認し易くなる場合がある。また、Tレジスタに対して他のレジスタを介してデータを転送できないように構成されているので、Tレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。 On the other hand, in the LD instruction using the first operand OP1 as a T register, the second operand is limited to an immediate value, and setting a register in the second operand is prohibited (in the process of being assembled into a machine language). Error and cannot be assembled). Therefore, as described in the above-described T-registration check process, programming (coding) of an LD instruction (“LD T, F0H” in the above example) having the second operand as an immediate value is permitted, but the second operand Programming (coding) of an LD instruction (eg, “LD T, A”) that sets a register is not allowed. As described above, the LD instruction using the first operand OP1 as the T register is configured to transfer data as a direct value to the T register, so that the set data may be easily confirmed. Further, since data is not transferred to the T register via another register, the value of the T register cannot be inadvertently changed, thereby reducing the occurrence of coding errors. There are cases where it is possible.
図13はプログラムリストからLD命令のみを抜き出して示した図である。この例では、5つのLD命令を使用しているが、例えば、(4)のLD命令「LD B,A」の実行後にBレジスタに記憶される値についてデバッグでトレースを行う場合を考える。この場合、LD命令「LD B,A」の第2オペランドであるAレジスタについて、プログラムリストを遡ってトレースすることが必要であるが、例えば、「LD A」という検索キーでプログラムリストの検索を行った場合、(1)のLD命令「LD A,B」に加えて(3)のLD命令「LD A,H」がヒットすることになる。すなわち、第1オペランドにAレジスタを設定したLD命令は、第2オペランドにレジスタを設定することと、第2オペランドをイミディエイト値とすることの両方が認められているため使用頻度が高く、コーディングの見直し作業や、デバッグ(例えば、Aレジスタのトレースなど)の効率を低下させる一因となり得る。なお、ここでは、最も利用頻度が高いAレジスタについて説明したが、Tレジスタを除く他のレジスタを利用した場合にも同様のことが言える。 FIG. 13 shows only the LD command extracted from the program list. In this example, five LD instructions are used. For example, let us consider a case in which tracing is performed by debugging with respect to a value stored in the B register after execution of the LD instruction “LD B, A” in (4). In this case, it is necessary to trace back the program list for the A register which is the second operand of the LD instruction “LD B, A”. For example, the search of the program list can be performed using the search key “LD A”. If this is done, the LD instruction “LD A, H” in (3) will be hit in addition to the LD instruction “LD A, B” in (1). That is, the LD instruction with the A register set to the first operand is frequently used because it is permitted to set the register to the second operand and to set the second operand to an immediate value. This can contribute to a reduction in the efficiency of review work and debugging (for example, tracing of the A register). Although the A register having the highest use frequency has been described here, the same can be said when other registers other than the T register are used.
一方、第1オペランドにTレジスタを設定したLD命令は、第2オペランドにレジスタを設定することが禁止され、第2オペランドをイミディエイト値とすることのみが認められているため、Aレジスタを利用したLD命令よりも相対的に使用頻度が低く、コーディングの見直し作業や、デバッグ(例えば、Tレジスタのトレースなど)の効率を高めることが可能となり、制御プログラムの開発効率が向上する場合がある。
<主制御部タイマ割込処理>
On the other hand, the LD instruction in which the T register is set in the first operand is prohibited from setting the register in the second operand, and only the second operand is allowed to have an immediate value. The frequency of use is relatively lower than that of the LD instruction, and it becomes possible to increase the efficiency of coding review work and debugging (for example, T register tracing), and the control program development efficiency may be improved.
<Main control unit timer interrupt processing>
次に、図14を用いて、主制御部300のCPU304が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。 Next, a main control unit timer interrupt process executed by the CPU 304 of the main control unit 300 will be described with reference to FIG. This figure is a flowchart showing the flow of the main control unit timer interrupt process.
主制御部300は、所定の周期(本実施形態では約2msに1回)でタイマ割込信号を発生するカウンタタイマ312を備えており、このタイマ割込信号を契機として主制御部タイマ割込処理を所定の周期で開始する。 The main control unit 300 includes a counter timer 312 that generates a timer interrupt signal at a predetermined cycle (in this embodiment, about once every 2 ms), and the main control unit timer interrupt is triggered by this timer interrupt signal. The process is started at a predetermined cycle.
ステップS201では、タイマ割込開始処理を行う。このタイマ割込開始処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。 In step S201, a timer interrupt start process is performed. In this timer interrupt start process, a process of temporarily saving each register value of the CPU 304 to the stack area is performed.
ステップS203では、WDT314のカウント値が初期設定値(本実施形態では32.8ms)を超えてWDT割込が発生しないように(処理の異常を検出しないように)、WDTを定期的に(本実施形態では、主制御部タイマ割込の周期である約2msに1回)リスタートを行う。 In step S203, the WDT is periodically updated (so that the count value of the WDT 314 exceeds the initial setting value (32.8 ms in the present embodiment) and no WDT interruption occurs (so as not to detect a processing abnormality). In the embodiment, the restart is performed once every about 2 ms, which is the period of the main control unit timer interrupt.
ステップS205では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、上述の前面枠扉開放センサや内枠開放センサや下皿満タンセンサ、各種の球検出センサを含む各種センサ320の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ320ごとに区画して設けた信号状態記憶領域に記憶する。球検出センサの検出信号を例にして説明すれば、前々回のタイマ割込処理(約4ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割込処理(約2ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。 In step S205, input port state update processing is performed. In this input port state update process, the detection signals of various sensors 320 including the above-mentioned front frame door open sensor, inner frame open sensor, lower pan full sensor, and various ball detection sensors are input via the input port of the I / O 310. The input is monitored for the presence or absence of a detection signal, and stored in a signal state storage area provided for each of the various sensors 320 in the RAM 308. If the detection signal of the sphere detection sensor is described as an example, information on the presence / absence of the detection signal of each sphere detection sensor detected in the timer interruption process (about 4 ms before) is stored in the RAM 308 for each sphere detection sensor. This information is read out from the previous detection signal storage area partitioned and stored in the RAM 308 in the previous detection signal storage area partitioned for each sphere detection sensor, and the previous timer interrupt processing (about 2 ms before) ) Is read from the current detection signal storage area provided for each sphere detection sensor in the RAM 308, and this information is read out from the previous detection signal storage area described above. To remember. Further, the detection signal of each sphere detection sensor detected this time is stored in the above-described current detection signal storage area.
また、ステップS205では、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が入賞判定パターン情報と一致するか否かを判定する。一個の遊技球が一つの球検出センサを通過する間に、約2msという非常に短い間隔で起動を繰り返すこの主制御部タイマ割込処理は何回か起動する。このため、主制御部タイマ割込処理が起動する度に、上述のステップS205では、同じ遊技球が同じ球検出センサを通過したことを表す検出信号を確認することになる。この結果、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域それぞれに、同じ遊技球が同じ球検出センサを通過したことを表す検出信号が記憶される。すなわち、遊技球が球検出センサを通過し始めたときには、前々回検出信号無し、前回検出信号有り、今回検出信号有りになる。本実施形態では、球検出センサの誤検出やノイズを考慮して、検出信号無しの後に検出信号が連続して2回記憶されている場合には、入賞があったと判定する。図4に示す主制御部300のROM306には、入賞判定パターン情報(本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)が記憶されている。このステップS205では、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合に、一般入賞口226、可変入賞口234、第1特図始動口230、および第2特図始動口232への入球、または普図始動口228の通過があったと判定する。すなわち、これらの入賞口226、234やこれらの始動口230、232、228への入賞があったと判定する。例えば、一般入賞口226への入球を検出する一般入賞口センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口226へ入賞があったと判定し、以降の一般入賞口226への入賞に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口226への入賞に伴う処理を行わずに後続の処理に分岐する。なお、主制御部300のROM306には、入賞判定クリアパターン情報(本実施形態では、前々回検出信号有り、前回検出信号無し、今回検出信号無しであることを示す情報)が記憶されている。入賞が一度あったと判定した後は、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、その入賞判定クリアパターン情報に一致するまで入賞があったとは判定せず、入賞判定クリアパターン情報に一致すれば、次からは上記入賞判定パターン情報に一致するか否かの判定を行う。 Further, in step S205, the information on the presence or absence of the detection signal of each sphere detection sensor stored in each storage area of the above-mentioned detection signal storage area, the previous detection signal storage area, and the current detection signal storage area is compared. It is determined whether or not the information on the presence or absence of detection signals for the past three times in the ball detection sensor matches the winning determination pattern information. This main control unit timer interrupt process that is repeatedly started at a very short interval of about 2 ms while one game ball passes one ball detection sensor is started several times. For this reason, every time the main control unit timer interrupt process is activated, in step S205 described above, a detection signal indicating that the same game ball has passed the same ball detection sensor is confirmed. As a result, a detection signal indicating that the same game ball has passed the same ball detection sensor is stored in each of the detection signal storage area, the previous detection signal storage area, and the current detection signal storage area. That is, when the game ball starts to pass through the ball detection sensor, there is no detection signal before the previous time, there is a previous detection signal, and there is a detection signal this time. In the present embodiment, in consideration of erroneous detection of the sphere detection sensor and noise, it is determined that there is a prize when the detection signal is stored twice continuously after no detection signal. The ROM 306 of the main control unit 300 shown in FIG. 4 stores winning determination pattern information (in this embodiment, information indicating that there is no previous detection signal, that there is a previous detection signal, and that there is a current detection signal). In this step S205, information on the presence or absence of detection signals for the past three times in each sphere detection sensor is predetermined winning determination pattern information (in this embodiment, no previous detection signal, previous detection signal, current detection signal present). In the case of the general winning port 226, the variable winning port 234, the first special figure starting port 230, and the second special figure starting port 232, or the ordinary drawing starting port 228. Is determined to have passed. In other words, it is determined that a prize has been awarded to the winning ports 226 and 234 and the starting ports 230, 232, and 228. For example, when the information on the presence / absence of the detection signals for the past three matches with the above-described winning determination pattern information in the general winning opening sensor for detecting the winning at the general winning opening 226, there is a winning at the general winning opening 226. If the information on the presence / absence of detection signals for the past three times does not match the above-described winning determination pattern information, the subsequent general winnings are performed. The process branches to the subsequent process without performing the process associated with winning the prize to the mouth 226. Note that the ROM 306 of the main control unit 300 stores winning determination clear pattern information (in this embodiment, information indicating that there is a detection signal before the previous time, no previous detection signal, and no current detection signal). After it is determined that there has been a single win, it is not determined that there has been a win until the information on the presence or absence of detection signals for the past three times matches the winning determination clear pattern information in each ball detection sensor, and the winning determination is cleared. If it matches the pattern information, it is next determined whether or not it matches the winning determination pattern information.
ステップS207およびステップS209では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップS115で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部300で使用する、普図当選乱数値、特図1乱数値、および特図2乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図当選乱数値として取り得る数値範囲が0〜100とすると、RAM308に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。また、取得した値に1を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、0〜100の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に1を加算した結果が、RAM308に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値(例えば7)である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。また、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが1周したことを判定するための初期値記憶領域をRAM308に設けている。なお、本実施形態では特図1の乱数値を取得するためのカウンタと特図2の乱数値を取得するためのカウンタとを別に設けたが、同一のカウンタを用いてもよい。 In step S207 and step S209, basic random number initial value update processing and basic random number update processing are performed. In these basic random number initial value update processing and basic random number update processing, the value of the initial value generation random number counter performed in step S115 is updated, and then the normal winning random number value used in the main control unit 300, Two random number counters for generating the special figure 1 random value and the special figure 2 random value are updated. For example, if the range of values that can be taken as a random number value for a normal winning number is 0 to 100, a value is acquired from a random number counter storage area for generating a normal winning random number value provided in the RAM 308, and 1 is added to the acquired value. Then, it is stored in the original random number counter storage area. At this time, if the result of adding 1 to the acquired value is 101, 0 is stored in the original random number counter storage area. If it is determined that the random number counter has made one round as a result of adding 1 to the acquired value, the value of the initial value generating random number counter corresponding to each random number counter is acquired and stored in the storage area of the random number counter. set. For example, a value is acquired from a random number counter for generating a regular winning random number that fluctuates in a numerical range of 0 to 100, and a result obtained by adding 1 to the acquired value is stored in a predetermined initial value storage area provided in the RAM 308. If the value is equal to the previously set initial value (for example, 7), the value is acquired as an initial value from the initial value generation random number counter corresponding to the random number counter for generating the random number for winning the normal number, The initial value set this time is stored in the above-described initial value storage area in order to determine that the random number counter for generating the winning random number value has made one round next time, in addition to setting it in the random number counter for generating the winning random value Keep it. Further, apart from the above-described initial value storage area for determining that the random number counter for generating the random number for winning the normal signal has made one round next, it is determined that the random number counter for generating the special figure random number has made one round. An initial value storage area is provided in the RAM 308. In the present embodiment, the counter for acquiring the random number value of FIG. 1 and the counter for acquiring the random value of FIG. 2 are separately provided, but the same counter may be used.
ステップS211では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。 In step S211, effect random number update processing is performed. In this effect random number update process, a random number counter for generating an effect random number used by the main control unit 300 is updated.
ステップS213では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置210に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、第1特別図柄表示装置212に図柄を変動・停止表示する時間を計時するための特図1表示図柄更新タイマ、第2特図表示装置214に図柄を変動・停止表示する時間を計時するための特図2表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。 In step S213, timer update processing is performed. In this timer update process, the normal symbol display symbol update timer for timing the time for the symbol to be changed / stopped on the normal symbol display device 210, and the time for the symbol to be changed / stopped to be displayed on the first special symbol display device 212 are timed. Special symbol 1 display symbol update timer for performing, special symbol 2 display symbol update timer for measuring the time for the symbol to be changed and stopped on the second special symbol display device 214, a predetermined winning effect time, a predetermined opening time Various timers including a timer for measuring a predetermined closing time, a predetermined end effect period, and the like are updated.
ステップS215では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口226、234や始動口230、232、228に入賞があった場合に、RAM308に各入賞口ごと、あるいは各始動口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。 In step S215, winning prize counter update processing is performed. In this winning opening counter updating process, when winning holes 226, 234 and starting holes 230, 232, 228 are won, the RAM 308 stores the winning ball number storage area provided for each winning hole or for each starting hole. The value is read out, 1 is added, and the original prize ball number storage area is set.
また、ステップS217では、入賞受付処理を行う。この入賞受付処理では、第1特図始動口230、第2特図始動口232、普図始動口228および可変入賞口234への入賞があったか否かを判定する。ここでは、ステップS203における入賞判定パターン情報と一致するか否かの判定結果を用いて判定する。第1特図始動口230へ入賞があった場合且つRAM308に設けた対応する保留数記憶領域が満タンでない場合、カウンタ回路318の当選用カウンタ値記憶用レジスタから値を特図1当選乱数値として取得するとともに特図1乱数値生成用の乱数カウンタから値を特図1乱数値として取得して対応する乱数値記憶領域に格納する。第2特図始動口232へ入賞があった場合且つRAM308に設けた対応する保留数記憶領域が満タンでない場合、カウンタ回路318の当選用カウンタ値記憶用レジスタから値を特図2当選乱数値として取得するとともに特図2乱数値生成用の乱数カウンタから値を特図2乱数値として取得して対応する乱数値記憶領域に格納する。普図始動口228へ入賞があった場合且つRAM308に設けた対応する保留数記憶領域が満タンでない場合、普図当選乱数値生成用の乱数カウンタから値を普図当選乱数値として取得して対応する乱数値記憶領域に格納する。可変入賞口234へ入賞があった場合には、可変入賞口用の入賞記憶領域に、可変入賞口234に球が入球したことを示す情報を格納する。 In step S217, a winning acceptance process is performed. In this winning acceptance process, it is determined whether or not there has been a winning at the first special figure starting port 230, the second special figure starting port 232, the ordinary drawing starting port 228, and the variable winning port 234. Here, the determination is made using the determination result of whether or not it matches the winning determination pattern information in step S203. When a winning is made at the first special figure starting port 230 and the corresponding reserved number storage area provided in the RAM 308 is not full, the value is stored in the special counter value storage register of the counter circuit 318. And a value from the random number counter for generating the special figure 1 random value as a special figure 1 random value and storing it in the corresponding random value storage area. When a winning is made to the second special figure starting port 232 and the corresponding reserved number storage area provided in the RAM 308 is not full, the value is sent from the winning counter value storage register of the counter circuit 318 to the special figure 2 winning random number value. And a value from the random number counter for generating the special figure 2 random value as a special figure 2 random value and storing it in the corresponding random value storage area. If there is a win at the general figure starting port 228 and the corresponding reserved number storage area provided in the RAM 308 is not full, the value is obtained as a normal figure winning random number value from the random number counter for generating the normal figure winning random number value. Store in the corresponding random value storage area. When there is a winning at the variable winning opening 234, information indicating that a ball has entered the variable winning opening 234 is stored in the winning storage area for the variable winning opening.
ステップS219では、払出要求数送信処理を行う。なお、払出制御部600に出力する出力予定情報および払出要求情報は、例えば1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に暗号化のための今回加工種別(0〜3)、およびビット0〜3に暗号化加工後の払出要求数を示すようにしている。 In step S219, a payout request number transmission process is performed. Note that the output schedule information and the payout request information output to the payout control unit 600 are composed of, for example, 1 byte, strobe information (indicating that data is set when ON), bit 6 Power-on information (if turned on, indicates that this is the first command transmission after power-on), bits 4-5 indicate the current processing type for encryption (0-3), and bits 0-3 indicate encryption The number of payout requests after processing is shown.
ステップS221では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動表示の途中(上述する普図表示図柄更新タイマの値が1以上)における普図状態更新処理では、普通図柄表示装置210を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、普通図柄表示装置210は普図の変動表示(普図変動遊技)を行う。 In step S221, a normal state update process is performed. This normal state update process performs one of a plurality of processes corresponding to the normal state. For example, in the normal state update process in the middle of the normal symbol display (the above-described general symbol display symbol update timer value is 1 or more), the 7-segment LED constituting the normal symbol display device 210 is repeatedly turned on and off. Turns off drive control. By performing this control, the normal symbol display device 210 performs a usual fluctuation display (ordinary figure fluctuation game).
また、普図変動表示時間が経過したタイミング(普図表示図柄更新タイマの値が1から0になったタイミング)における普図状態更新処理では、当りフラグがオンの場合には、当たり図柄の表示態様となるように普通図柄表示装置210を構成する7セグメントLEDの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、外れ図柄の表示態様となるように普通図柄表示装置210を構成する7セグメントLEDの点灯・消灯駆動制御を行う。また、主制御部300のRAM308には、普図状態更新処理に限らず各種の処理において各種の設定を行う設定領域が用意されている。ここでは、上記点灯・消灯駆動制御を行うとともに、その設定領域に普図停止表示中であることを示す設定を行う。この制御を行うことで、普通図柄表示装置210は、当り図柄(図5(c)に示す普図A)および外れ図柄(図5(c)に示す普図B)いずれか一方の図柄の確定表示を行う。さらにその後、所定の停止表示期間(例えば500m秒間)、その表示を維持するためにRAM308に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された図柄が所定期間停止表示され、普図変動遊技の結果が遊技者に報知される。 Also, in the normal state update process at the timing when the normal symbol change display time has elapsed (the timing when the value of the general symbol display symbol update timer has changed from 1 to 0), if the hit flag is on, the win symbol is displayed. The normal symbol display device 210 is controlled so that the 7-segment LED constituting the normal symbol display device 210 is turned on / off, and when the hit flag is off, the normal symbol display device 210 is configured to be in the off symbol display mode. 7 segment LED on / off drive control is performed. Further, the RAM 308 of the main control unit 300 is provided with a setting area for performing various settings in various processes, not limited to the normal state update process. Here, the above-described lighting / extinguishing drive control is performed, and the setting area is set to indicate that the normal stop display is being performed. By performing this control, the normal symbol display device 210 determines the symbol of either the winning symbol (the common symbol A shown in FIG. 5C) or the off symbol (the common symbol B shown in FIG. 5C). Display. Thereafter, information indicating the stop period is set in a storage area of a normal stop time management timer provided in the RAM 308 in order to maintain the display for a predetermined stop display period (for example, 500 msec). With this setting, the symbol that has been confirmed and displayed is stopped and displayed for a predetermined period, and the player is notified of the result of the normal game.
また、普図変動遊技の結果が当りであれば、後述するように、普図当りフラグがオンされる。この普図当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)における普図状態更新処理では、RAM308の設定領域に普図作動中を設定するとともに、所定の開放期間(例えば2秒間)、第2特図始動口232の羽根部材232aの開閉駆動用のソレノイド(332)に、羽根部材232aを開放状態に保持する信号を出力するとともに、RAM308に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。 Further, if the result of the usual figure variable game is a hit, the usual figure hit flag is turned on as will be described later. When the usual figure hit flag is on, in the usual figure state update process at the timing when the predetermined stop display period ends (when the value of the usual figure stop time management timer is changed from 1 to 0), The normal operation is set in the setting area, and the blade member 232a is opened to a solenoid (332) for opening and closing the blade member 232a of the second special figure starting port 232 for a predetermined opening period (for example, 2 seconds). And a signal indicating the open period is set in the storage area of the blade open time management timer provided in the RAM 308.
また、所定の開放期間が終了したタイミング(羽根開放時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、所定の閉鎖期間(例えば500m秒間)、羽根部材の開閉駆動用のソレノイド332に、羽根部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。 In the usual state update process that starts at the timing when the predetermined opening period ends (the timing when the value of the blade opening time management timer is changed from 1 to 0), the blade member has a predetermined closing period (for example, 500 milliseconds). A signal for holding the blade member in the closed state is output to the opening / closing drive solenoid 332, and information indicating the closing period is set in the storage area of the blade closing time management timer provided in the RAM 308.
また、所定の閉鎖期間が終了したタイミング(羽根閉鎖時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、RAM308の設定領域に普図非作動中を設定する。さらに、普図変動遊技の結果が外れであれば、後述するように、普図外れフラグがオンされる。この普図外れフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)における普図状態更新処理でも、RAM308の設定領域に普図非作動中を設定する。普図非作動中の場合における普図状態更新処理では、何もせずに次のステップS223に移行するようにしている。 Further, in the normal state update process that starts at the timing when the predetermined closing period ends (when the value of the blade closing time management timer is changed from 1 to 0), the non-operating state is set in the setting area of the RAM 308. To do. Furthermore, if the result of the usual figure fluctuation game is out, the usual figure out flag is turned on as will be described later. When the off-normal flag is on, the normal state update process at the timing when the predetermined stop display period described above ends (the timing at which the normal stop time management timer value changes from 1 to 0) In the setting area of the RAM 308, normal operation inactive is set. In the general state update process in the case where the general map is not operating, nothing is done and the process proceeds to the next step S223.
ステップS223では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第2特図始動口232の開閉制御を行っておらず(普図の状態が非作動中)、且つ、保留している普図変動遊技の数が1以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはRAM308に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置210に普図を変動表示する時間を1つ選択し、この変動表示時間を、普図変動表示時間として、RAM308に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、RAM308に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から1を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。 In step S223, a general drawing related lottery process is performed. In this general map-related lottery process, the open / close control of the general map variable game and the second special map start port 232 is not performed (the state of the general map is not in operation), and the pending general map variable game is not held. When the number is 1 or more, it is decided whether to win or not to win the result of the variable figure game by random lottery based on the random number value stored in the random number value storage area. When the winning judgment is made and the winning is made, the winning flag provided in the RAM 308 is set to ON. If unsuccessful, turn off the winning flag. Regardless of the result of the hit determination, next, the value of the random number counter for generating the normal figure timer random value is acquired as the normal figure timer random number value, and a plurality of fluctuation times are obtained based on the acquired general figure timer random number value. One time is selected for variably displaying the normal map on the general map display device 210, and this variable display time is stored as a normal map variable display time in a general map variable time storage area provided in the RAM 308. In addition, the number of pending general figure variable games is stored in the usual figure pending number storage area provided in the RAM 308, and from the number of pending custom figure variable games each time a hit determination is made. The value obtained by subtracting 1 is re-stored in the usual figure number-of-holds storage area. Also, the random number value used for the hit determination is deleted.
次いで、特図1および特図2それぞれについての特図状態更新処理を行うが、最初に、特図2についての特図状態更新処理(特図2状態更新処理)を行う(ステップS225)。この特図2状態更新処理は、特図2の状態に応じて、次の8つの処理のうちの1つの処理を行う。例えば、特図2変動表示の途中(上述の特図2表示図柄更新タイマの値が1以上)における特図2状態更新処理では、第2特別図柄表示装置214を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、第2特別図柄表示装置214は特図2の変動表示(特図2変動遊技)を行う。 Next, the special figure state update process for each of the special figure 1 and the special figure 2 is performed. First, the special figure state update process (the special figure 2 state update process) for the special figure 2 is performed (step S225). In the special figure 2 state update process, one of the following eight processes is performed in accordance with the state of the special figure 2. For example, in the special figure 2 state update process in the middle of the special figure 2 fluctuation display (the value of the above-mentioned special figure 2 display symbol update timer is 1 or more), the 7-segment LED constituting the second special symbol display device 214 is turned on. Performs lighting / extinguishing drive control that repeatedly turns off. By performing this control, the second special symbol display device 214 performs the variable display of the special figure 2 (special figure 2 variable game).
また、コマンド設定送信処理(ステップS233)で回転開始設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶してから処理を終了する。 In addition, predetermined transmission information indicating that the rotation start setting transmission process is to be executed in the command setting transmission process (step S233) is additionally stored in the above-described transmission information storage area, and the process ends.
また、主制御部300のRAM308の当否判定結果記憶領域には、15R大当りフラグ、2R大当たりフラグ、第1小当たりフラグ、第2小当たりフラグ、第1はずれフラグ、第2はずれフラグ、特図確率変動フラグ、および普図確率変動フラグそれぞれのフラグが用意されている。特図2変動表示時間が経過したタイミング(特図2表示図柄更新タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、15R大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には図5(a)に示す特図A、15R大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図B、2R大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には特図C、2R大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図D、2R大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグはオンの場合には特図E、2R大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグもオフの場合には特図F、第1小当たりフラグがオンの場合には特図G、第2小当たりフラグがオンの場合には特図H、第1はずれフラグがオンの場合には特図I、第2はずれフラグがオンの場合には特図Iそれぞれの態様となるように、第2特別図柄表示装置214を構成する7セグメントLEDの点灯・消灯駆動制御を行い、RAM308の設定領域に特図2停止表示中であることを表す設定を行う。この制御を行うことで、第2特別図柄表示装置214は、15R特別大当たり図柄(特図A)、15R大当たり図柄(特図B)、突然確変図柄(特図C)、突然時短図柄(特図D)、隠れ確変図柄(特図E)、突然通常図柄(特図F)、第1小当たり図柄(特図G)、第2小当たり図柄(特図H)、第1はずれ図柄(特図I)、および第2はずれ図柄(特図J)のいずれか一つの図柄の確定表示を行う。さらにその後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた特図2停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された特図2が所定期間停止表示され、特図2変動遊技の結果が遊技者に報知される。また、RAM308に設けられた時短回数記憶部に記憶された時短回数が1以上であれば、その時短回数から1を減算し、減算結果が1から0となった場合は、特図確率変動中(詳細は後述)でなければ、時短フラグをオフする。さらに、大当り遊技中(特別遊技状態中)にも、時短フラグをオフする。 In addition, the success / failure determination result storage area of the RAM 308 of the main control unit 300 includes a 15R big hit flag, 2R big hit flag, first small hit flag, second small hit flag, first miss flag, second miss flag, special figure probability A flag for each of a variation flag and an ordinary probability variation flag is prepared. In the special figure 2 state update process starting at the timing when the special figure 2 fluctuation display time has elapsed (the timing when the special figure 2 display symbol update timer value has changed from 1 to 0), the 15R big hit flag is on, and the special figure probability fluctuation When the flag is also on and the normal figure probability fluctuation flag is on, the special figure A, 15R jackpot flag shown in FIG. 5A is on, the special figure probability fluctuation flag is off, and the common figure probability fluctuation flag is on. When the special figure B, 2R big hit flag is on, the special figure probability fluctuation flag is on, and the general figure probability fluctuation flag is also on, the special figure C, 2R big hit flag is on, the special figure probability fluctuation flag is off, When the probability fluctuation flag is on, the special figure D, 2R jackpot flag is on, the special figure probability fluctuation flag is on, and when the common figure probability fluctuation flag is on, the special figure E, 2R jackpot flag is on, special chart Probability flag is off, normal When the rate fluctuation flag is also off, the special figure F, when the first small hit flag is on, the special figure G, when the second small hit flag is on, the special figure H, and the first off flag are on. In such a case, the 7-segment LED constituting the second special symbol display device 214 is controlled to be turned on / off so that the special figure I and the second off flag are turned on, respectively, so that the special figure I is in the respective mode. A setting indicating that the special figure 2 stop display is in progress is made in the setting area of the RAM 308. By performing this control, the second special symbol display device 214 has a 15R special jackpot symbol (special symbol A), a 15R jackpot symbol (special symbol B), a sudden probability variation symbol (special symbol C), and a sudden time-short symbol symbol (special symbol). D), hidden probability variation (special E), suddenly normal (special F), first small hit (special G), second small hit (special H), first off symbol (special) Any one of the symbols I) and the second off-set symbol (special symbol J) is confirmed and displayed. After that, information indicating the stop period is set in the storage area of the special figure 2 stop time management timer provided in the RAM 308 in order to maintain the display for a predetermined stop display period (for example, 500 milliseconds). With this setting, the specially displayed special figure 2 is stopped and displayed for a predetermined period, and the result of the special figure 2 variable game is notified to the player. In addition, if the time reduction number stored in the time reduction number storage unit provided in the RAM 308 is 1 or more, 1 is subtracted from the time reduction number, and if the subtraction result becomes 1 to 0, the special figure probability is changing. If not (details will be described later), the time reduction flag is turned off. Further, the hourly flag is also turned off during the big hit game (in the special game state).
また、コマンド設定送信処理(ステップS233)で回転停止設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶するとともに、変動表示を停止する図柄が特図2であることを示す特図2識別情報を、後述するコマンドデータに含める情報としてRAM308に追加記憶してから処理を終了する。 Further, the special transmission information indicating that the rotation stop setting transmission process is executed in the command setting transmission process (step S233) is additionally stored in the above-described transmission information storage area, and the design for stopping the variable display is shown in FIG. The special figure 2 identification information indicating the presence is additionally stored in the RAM 308 as information to be included in command data, which will be described later, and the processing is terminated.
また、特図2変動遊技の結果が大当りであれば、後述するように、大当りフラグがオンされる。この大当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング(特図2停止時間管理用タイマの値が1から0になったタイミング)における特図2状態更新処理では、RAM308の設定領域に特図2作動中を設定するとともに、所定の入賞演出期間(例えば3秒間)すなわち装飾図柄表示装置208による大当りを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図2待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理(ステップS233)で入賞演出設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。 If the result of the special figure 2 variable game is a big hit, the big hit flag is turned on as will be described later. When the jackpot flag is on, in the special figure 2 state update process at the timing when the predetermined stop display period ends (the timing when the special figure 2 stop time management timer value changes from 1 to 0), the RAM 308 In the setting area, the special figure 2 is in operation and waits for a predetermined winning effect period (for example, 3 seconds), that is, a period during which an image for notifying the player that the big win by the decorative symbol display device 208 is started is displayed. Therefore, information indicating the winning effect period is set in the storage area of the special figure 2 standby time management timer provided in the RAM 308. Further, predetermined transmission information indicating that the winning effect setting transmission process is executed in the command setting transmission process (step S233) is additionally stored in the transmission information storage area.
また、所定の入賞演出期間が終了したタイミング(特図2待機時間管理用タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、所定の開放期間(例えば29秒間、または可変入賞口234に所定球数(例えば10球)の遊技球の入賞を検出するまで)可変入賞口234の扉部材234aの開閉駆動用のソレノイド(332)に、扉部材234aを開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理(ステップS233)で大入賞口開放設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。 Further, in the special figure 2 state update process that starts at the timing when the predetermined winning effect period ends (the timing when the value of the special figure 2 standby time management timer changes from 1 to 0), a predetermined release period (for example, 29 seconds) Alternatively, the door member 234a is opened to the solenoid (332) for opening and closing the door member 234a of the variable prize opening 234 until a winning of a predetermined number of balls (for example, 10 balls) is detected at the variable prize opening 234. In addition to outputting a signal to be held at the same time, information indicating the opening period is set in the storage area of the door opening time management timer provided in the RAM 308. In addition, predetermined transmission information indicating that the special winning opening release setting transmission process is executed in the command setting transmission process (step S233) is additionally stored in the transmission information storage area.
また、所定の開放期間が終了したタイミング(扉開放時間管理用タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、所定の閉鎖期間(例えば1.5秒間)可変入賞口234の扉部材234aの開閉駆動用のソレノイド(332)に、扉部材234aを閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理(ステップS233)で大入賞口閉鎖設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。 In the special figure 2 state update process that starts at the timing when the predetermined opening period ends (the timing when the door opening time management timer value changes from 1 to 0), the predetermined closing period (for example, 1.5 seconds) A signal for holding the door member 234a in a closed state is output to a solenoid (332) for opening and closing the door member 234a of the variable prize opening 234, and a closing period is stored in a storage area of a door closing time management timer provided in the RAM 308. Set the information indicating. In addition, predetermined transmission information indicating that the special winning opening closing setting transmission process is executed in the command setting transmission process (step S233) is additionally stored in the transmission information storage area.
また、この扉部材の開放・閉鎖制御を所定回数(本実施例では15ラウンドか2ラウンド)繰り返し、終了したタイミングで開始する特図2状態更新処理では、所定の終了演出期間(例えば3秒間)すなわち装飾図柄表示装置208による大当りを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、普図確率変動フラグがオンに設定されていれば、この大当たり遊技の終了と同時に、RAM308に設けられた時短回数記憶部に時短回数100回をセットするともに、RAM308に設けられた時短フラグをオンする。なお、その普図確率変動フラグがオフに設定されていれば、時短回数記憶部に時短回数をセットすることもなく、また時短フラグをオンすることもない。ここにいう時短とは、特図変動遊技における大当りを終了してから、次の大当りを開始するまでの時間を短くするため、パチンコ機が遊技者にとって有利な状態になることをいう。この時短フラグがオンに設定されていると、普図高確率状態である。普図高確率状態では普図低確率状態に比べて、普図変動遊技に大当りする可能性が高い。また、普図高確率状態の方が、普図低確率状態に比べて普図変動遊技の変動時間および特図変動遊技の変動時間は短くなる。さらに、普図高確率状態では普図低確率状態に比べて、第2特別始動口232の一対の羽根部材232aの1回の開放における開放時間が長くなりやすい。加えて、普図高確率状態では普図低確率状態に比べて、一対の羽根部材232aは多く開きやすい。また、上述のごとく、時短フラグは、大当り遊技中(特別遊技状態中)にはオフに設定される。したがって、大当たり遊技中には、普図低確率状態が維持される。これは、大当たり遊技中に普図高確率状態であると、大当たり遊技中に可変入賞口234に所定の個数、遊技球が入球するまでの間に第2特図始動口232に多くの遊技球が入球し、大当たり中に獲得することができる遊技球の数が多くなってしまい射幸性が高まってしまうという問題があり、これを解決するためのものである。 In addition, in the special figure 2 state update process that starts at the timing when the door member opening / closing control is repeated a predetermined number of times (15 rounds or 2 rounds in this embodiment) and finished, a predetermined end effect period (for example, 3 seconds) In other words, the effect standby period is stored in the storage area of the effect standby time management timer provided in the RAM 308 in order to set to wait for a period during which an image for informing the player that the big hit by the decorative symbol display device 208 is to be ended is displayed. Set the information indicating. Also, if the normal probability fluctuation flag is set to ON, at the same time as the end of the jackpot game, the time reduction number 100 is set in the time reduction number storage unit provided in the RAM 308, and the time reduction flag provided in the RAM 308 is set. Turn on. If the usual time probability variation flag is set to OFF, the time reduction number is not set in the time reduction number storage unit, and the time reduction flag is not turned ON. The short time here means that the pachinko machine is in an advantageous state for the player in order to shorten the time from the end of the big hit in the special figure variable game to the start of the next big hit. If the short time flag is set to ON at this time, it is a normal high probability state. There is a higher probability of hitting a general-purpose variable game in the high-probability state than in the low-probability state. In addition, the fluctuation time of the normal figure variable game and the fluctuation time of the special figure variable game are shorter in the normal figure high probability state than in the normal figure low probability state. Further, in the normal high probability state, the opening time in one opening of the pair of blade members 232a of the second special start port 232 tends to be longer than in the normal low probability state. In addition, the pair of blade members 232a are more likely to open in the normal high probability state than in the normal low probability state. In addition, as described above, the hourly flag is set to off during the big hit game (in the special game state). Therefore, the normal low probability state is maintained during the jackpot game. This is because, if the game is in a high probability state during a jackpot game, a large number of games will be placed in the second special figure start port 232 until a predetermined number of game balls are entered during the jackpot game. There is a problem that a ball enters and the number of game balls that can be acquired during the jackpot increases, resulting in an increase in euphoria. This is to solve this problem.
さらに、コマンド設定送信処理(ステップS233)で終了演出設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。 Further, predetermined transmission information indicating that the end effect setting transmission process is executed in the command setting transmission process (step S233) is additionally stored in the transmission information storage area.
また、所定の終了演出期間が終了したタイミング(演出待機時間管理用タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、RAM308の設定領域に特図2非作動中を設定する。さらに、特図2変動遊技の結果が外れであれば、後述するように、はずれフラグがオンされる。このはずれフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング(特図2停止時間管理用タイマの値が1から0になったタイミング)における特図2状態更新処理でも、RAM308の設定領域に特図2非作動中を設定する。特図2非作動中の場合における特図2状態更新処理では、何もせずに次のステップS227に移行するようにしている。 Also, in the special figure 2 state update process that starts at the timing when the predetermined end production period ends (when the production standby time management timer value changes from 1 to 0), the special figure 2 is not activated in the setting area of the RAM 308. Set medium. Further, if the result of the special figure 2 variable game is out of the way, the off flag is turned on as will be described later. In the case where the miss flag is on, even in the special figure 2 state update process at the timing when the predetermined stop display period described above ends (the timing when the special figure 2 stop time management timer value changes from 1 to 0), In the setting area of the RAM 308, special figure 2 inactive is set. In the special figure 2 state update process when the special figure 2 is not in operation, nothing is done and the process proceeds to the next step S227.
続いて、特図1についての特図状態更新処理(特図1状態更新処理)を行う(ステップS227)。この特図1状態更新処理では、特図1の状態に応じて、上述の特図2状態更新処理で説明した各処理を行う。この特図1状態更新処理で行う各処理は、上述の特図2状態更新処理で説明した内容の「特図2」を「特図1」と読み替えた処理と同一であるため、その説明は省略する。なお、特図2状態更新処理と特図1状態更新処理の順番は逆でもよい。 Subsequently, special figure state update processing (special figure 1 state update process) for special figure 1 is performed (step S227). In the special figure 1 state update process, each process described in the special figure 2 state update process is performed according to the state of the special figure 1. Each process performed in the special figure 1 state update process is the same as the process in which “special figure 2” in the contents described in the special figure 2 state update process is replaced with “special figure 1”. Omitted. The order of the special figure 2 state update process and the special figure 1 state update process may be reversed.
ステップS225およびステップS227における特図状態更新処理が終了すると、今度は、特図1および特図2それぞれについての特図関連抽選処理を行う。ここでも先に、特図2についての特図関連抽選処理(特図2関連抽選処理)を行い(ステップS229)、その後で、特図1についての特図関連抽選処理(特図1関連抽選処理)を行う(ステップS231)。これらの特図関連抽選処理についても、主制御部300が特図2関連抽選処理を特図1関連抽選処理よりも先に行うことで、特図2変動遊技の開始条件と、特図1変動遊技の開始条件が同時に成立した場合でも、特図2変動遊技が先に変動中となるため、特図1変動遊技は変動を開始しない。また、装飾図柄表示装置208による、特図変動遊技の大当り判定の結果の報知は、第1副制御部400によって行われ、第2特図始動口232への入賞に基づく抽選の抽選結果の報知が、第1特図始動口230への入賞に基づく抽選の抽選結果の報知よりも優先して行われる。 When the special figure state update process in step S225 and step S227 is completed, a special figure related lottery process for each of special figure 1 and special figure 2 is performed. Also here, first, a special drawing related lottery process for special figure 2 (a special drawing 2 related lottery process) is performed (step S229), and then a special drawing related lottery process for special figure 1 (a special drawing 1 related lottery process). ) Is performed (step S231). Also for these special drawing related lottery processes, the main control unit 300 performs the special figure 2 related lottery processing before the special figure 1 related lottery processing, so that the special figure 2 variable game start condition and the special figure 1 fluctuation Even if the game start conditions are satisfied at the same time, since the special figure 2 variable game is changing first, the special figure 1 variable game does not start changing. Further, the notification of the result of the jackpot determination of the special figure variable game by the decorative symbol display device 208 is performed by the first sub-control unit 400, and the lottery result of the lottery based on the winning at the second special figure starting port 232 is notified. However, it is performed in preference to the notification of the lottery result of the lottery based on the winning at the first special figure starting port 230.
ステップS233では、コマンド設定送信処理を行い、各種のコマンドが第1副制御部400に送信される。なお、第1副制御部400に送信する出力予定情報は例えば16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(本実施形態では、基本コマンド、図柄変動開始コマンド、図柄変動停止コマンド、入賞演出開始コマンド、終了演出開始コマンド、大当りラウンド数指定コマンド、復電コマンドなどコマンドの種類を特定可能な情報)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成している。 In step S233, command setting transmission processing is performed, and various commands are transmitted to the first sub-control unit 400. The output schedule information to be transmitted to the first sub-control unit 400 is composed of 16 bits, for example, bit 15 is strobe information (indicating that data is set when ON), bits 11 to 14 are Command type (in this embodiment, information that can specify the type of command, such as basic command, symbol variation start command, symbol variation stop command, winning effect start command, end effect start command, jackpot round number designation command, power recovery command) Bits 0 to 10 are composed of command data (predetermined information corresponding to the command type).
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、特図確率変動フラグの値などを含み、大当りラウンド数指定コマンドの場合であれば特図確率変動フラグの値、大当りラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口230への入賞の有無、第2特図始動口232への入賞の有無、可変入賞口234への入賞の有無などを含む。 Specifically, the strobe information is turned on and off in the command transmission process described above. If the command type is a symbol variation start command, information indicating the value of the 15R jackpot flag or 2R jackpot flag, the value of the special figure probability variation flag, the timer number selected in the special figure related lottery process, etc. is included in the command data. In the case of the symbol variation stop command, the value of the 15R jackpot flag, 2R jackpot flag, the value of the special figure probability variation flag, etc. are included. In the case of a jackpot round number designation command, the value of the special variation probability flag, the number of jackpot rounds, and the like are included. When the command type indicates a basic command, device information in the command data, presence / absence of winning at the first special figure starting port 230, presence / absence of winning at the second special figure starting port 232, winning of the variable winning port 234 Includes presence or absence.
また、上述の回転開始設定送信処理では、コマンドデータにRAM308に記憶している、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値、特図1関連抽選処理および特図2関連抽選処理で選択したタイマ番号、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の回転停止設定送信処理では、コマンドデータにRAM308に記憶している、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値などを示す情報を設定する。上述の入賞演出設定送信処理では、コマンドデータに、RAM308に記憶している、入賞演出期間中に装飾図柄表示装置208・各種ランプ418・スピーカ120に出力する演出制御情報、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の終了演出設定送信処理では、コマンドデータに、RAM308に記憶している、演出待機期間中に装飾図柄表示装置208・各種ランプ418・スピーカ120に出力する演出制御情報、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の大入賞口開放設定送信処理では、コマンドデータにRAM308に記憶している大当りラウンド数、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の大入賞口閉鎖設定送信処理では、コマンドデータにRAM308に記憶している大当りラウンド数、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。また、このステップS233では一般コマンド特図保留増加処理も行われる。この一般コマンド特図保留増加処理では、コマンドデータにRAM308の送信用情報記憶領域に記憶している特図識別情報(特図1または特図2を示す情報)、予告情報(事前予告情報、偽事前予告情報、または事前予告無情報のいずれか)を設定する。 In the rotation start setting transmission process described above, the 15R jackpot flag or 2R jackpot flag value, the special figure probability variation flag value, the special figure 1 related lottery process, and the special figure 2 relation stored in the RAM 308 as command data. Information indicating the timer number selected in the lottery process, the number of the first special figure variable game or the second special figure variable game held, etc. is set. In the rotation stop setting transmission process described above, information indicating the value of the 15R jackpot flag, the 2R jackpot flag, the value of the special figure probability variation flag, etc. stored in the RAM 308 is set in the command data. In the winning effect setting transmission process described above, the command control data stored in the RAM 308, the effect control information output to the decorative symbol display device 208, various lamps 418, and the speaker 120 during the winning effect period, the special figure probability variation flag Information indicating the value, the number of the first special figure variable game or the second special figure variable game being held, etc. is set. In the above-described end effect setting transmission process, the command control data stored in the RAM 308, the effect control information output to the decorative symbol display device 208, various lamps 418, and the speaker 120 during the effect standby period, the special figure probability variation flag Information indicating the value, the number of the first special figure variable game or the second special figure variable game being held, etc. is set. In the above-described large winning opening release setting transmission process, the number of big hits stored in the RAM 308 in the command data, the value of the special figure probability variation flag, the pending first special figure variation game or the second special figure variation game is stored. Set information such as number. In the above-mentioned big winning opening closing setting transmission process, the number of big hits stored in the RAM 308 in the command data, the value of the special figure probability variation flag, the pending first special figure variation game or the second special figure variation game is stored. Set information such as number. In step S233, general command special figure hold increase processing is also performed. In this general command special figure pending increase process, special figure identification information (information showing special figure 1 or special figure 2) stored in the transmission information storage area of the RAM 308, command notice information (preliminary notice information, false) Set either advance notice information or no advance notice information).
第1副制御部400では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。 In the first sub-control unit 400, it is possible to determine the production control according to the change of the game control in the main control unit 300 by the command type included in the received output schedule information, and it is included in the output schedule information. Based on the information of the command data, the contents of effect control can be determined.
ステップS235では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路336を介してパチンコ機100とは別体の情報入力回路350に出力する。 In step S235, an external output signal setting process is performed. In this external output signal setting process, the game information stored in the RAM 308 is output to the information input circuit 350 separate from the pachinko machine 100 via the information output circuit 336.
ステップS237では、デバイス監視処理を行う。このデバイス監視処理では、ステップS205において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、所定のエラーの有無、例えば前面枠扉開放エラーの有無または下皿満タンエラーの有無などを監視し、前面枠扉開放エラーまたは下皿満タンエラーを検出した場合に、第1副制御部400に送信すべき送信情報に、前面枠扉開放エラーの有無または下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド332を駆動して第2特図始動口232や、可変入賞口234の開閉を制御したり、表示回路324、326、330を介して普通図柄表示装置210、第1特別図柄表示装置212、第2特別図柄表示装置214、各種状態表示部328などに出力する表示データを、I/O310の出力ポートに設定する。また、払出要求数送信処理(ステップS219)で設定した出力予定情報を出力ポート(I/O310)を介して第1副制御部400に出力する。 In step S237, device monitoring processing is performed. In this device monitoring process, the signal states of the various sensors stored in the signal state storage area in step S205 are read, and the presence or absence of a predetermined error, for example, the presence or absence of a front frame door opening error or the presence or absence of a full tray error is monitored. When the front frame door opening error or the lower pan full error is detected, the transmission information to be transmitted to the first sub-control unit 400 includes device information indicating the presence or absence of the front frame door opening error or the lower pan full error. Set. Further, various solenoids 332 are driven to control the opening and closing of the second special figure starting port 232 and the variable prize opening 234, and the normal symbol display device 210 and the first special symbol display via the display circuits 324, 326 and 330. Display data to be output to the device 212, the second special symbol display device 214, the various status display units 328, and the like is set in the output port of the I / O 310. Further, the output schedule information set in the payout request number transmission process (step S219) is output to the first sub-control unit 400 via the output port (I / O 310).
ステップS239では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS243に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS241に進む。 In step S239, it is monitored whether or not the low voltage signal is on. Then, when the low voltage signal is on (when power supply cutoff is detected), the process proceeds to step S243, and when the low voltage signal is off (when power supply cutoff is not detected), the process proceeds to step S241.
ステップS241では、タイマ割込終了処理を行う。このタイマ割込終了処理では、ステップS201で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割込許可の設定などを行い、その後、主制御部メイン処理に復帰する。 In step S241, timer interrupt end processing is performed. In this timer interrupt end process, the value of each register temporarily saved in step S201 is set in each original register, interrupt permission is set, and the like, and then the process returns to the main process of the main control unit.
一方、ステップS243では、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、主制御部メイン処理に復帰する。
<第1副制御部400の処理>
On the other hand, in step S243, a specific variable or stack pointer for returning to the power-off state at the time of power recovery is saved in a predetermined area of the RAM 308 as return data, and power-off processing such as initialization of input / output ports is performed. After that, the process returns to the main process of the main control unit.
<Processing of First Sub-Control Unit 400>
次に、図15を用いて、第1副制御部400の処理について説明する。なお、同図(a)は、第1副制御部400のCPU404が実行するメイン処理のフローチャートである。同図(b)は、第1副制御部400のストローブ割込み処理のフローチャートである。同図(c)は、第1副制御部400のタイマ変数更新割込処理のフローチャートである。同図(d)は、第1副制御部400の画像制御処理のフローチャートである。 Next, processing of the first sub control unit 400 will be described with reference to FIG. FIG. 5A is a flowchart of main processing executed by the CPU 404 of the first sub control unit 400. FIG. 5B is a flowchart of the strobe interrupt process of the first sub control unit 400. FIG. 6C is a flowchart of the timer variable update interrupt process of the first sub control unit 400. FIG. 4D is a flowchart of the image control process of the first sub control unit 400.
まず、同図(a)のステップS301では、各種の初期設定を行う。電源投入が行われると、まずS301で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、RAM408内の記憶領域の初期化処理等を行う。 First, in step S301 in FIG. 9A, various initial settings are performed. When power is turned on, an initialization process is first executed in S301. In this initialization processing, initialization of input / output ports, initialization processing of a storage area in the RAM 408, and the like are performed.
ステップS303では、タイマ変数が10以上か否かを判定し、タイマ変数が10となるまでこの処理を繰り返し、タイマ変数が10以上となったときには、ステップS305の処理に移行する。ステップS305では、タイマ変数に0を代入する。 In step S303, it is determined whether or not the timer variable is 10 or more. This process is repeated until the timer variable becomes 10, and when the timer variable becomes 10 or more, the process proceeds to step S305. In step S305, 0 is substituted into the timer variable.
ステップS307では、コマンド処理を行う。第1副制御部400のCPU404は、主制御部300からコマンドを受信したか否かを判別する。 In step S307, command processing is performed. The CPU 404 of the first sub control unit 400 determines whether a command has been received from the main control unit 300.
ステップS309では、演出制御処理を行う。例えば、S307で新たなコマンドがあった場合には、このコマンドに対応する演出データをROM406から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行う。 In step S309, effect control processing is performed. For example, when there is a new command in S307, processing such as reading the effect data corresponding to this command from the ROM 406 is performed, and when the effect data needs to be updated, the effect data is updated.
ステップS311では、チャンスボタンの押下を検出していた場合、ステップS309で更新した演出データをチャンスボタンの押下に応じた演出データに変更する処理を行う。ステップS313では、S309で読み出した演出データの中にVDP434への命令がある場合には、この命令をVDP434に出力する(詳細は後述)。 If it is detected in step S311 that the chance button has been pressed, the effect data updated in step S309 is changed to effect data corresponding to the press of the chance button. In step S313, if there is a command to VDP 434 in the effect data read in S309, this command is output to VDP 434 (details will be described later).
ステップS315では、S309で読み出した演出データの中に音源IC416への命令がある場合には、この命令を音源IC416に出力する。ステップS317では、S309で読み出した演出データの中に各種ランプ418への命令がある場合には、この命令を駆動回路420に出力する。 In step S315, if there is a command to the sound source IC 416 in the effect data read out in S309, this command is output to the sound source IC 416. In step S317, if there is a command to the various lamps 418 in the effect data read in S309, this command is output to the drive circuit 420.
ステップS319では、S309で読み出した演出データの中に遮蔽装置246への命令がある場合には、この命令を駆動回路432に出力する。ステップS321では、S309で読み出した演出データの中に第2副制御部500に送信する制御コマンドがある場合には、この制御コマンドを出力する設定を行い、S303へ戻る。 In step S <b> 319, if there is a command to the shielding device 246 in the effect data read in S <b> 309, this command is output to the drive circuit 432. In step S321, if there is a control command to be transmitted to the second sub-control unit 500 in the effect data read in S309, the control command is set to be output, and the process returns to S303.
次に、同図(b)を用いて、第1副制御部400のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第1副制御部400が、主制御部300が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップS401では、主制御部300が出力したコマンドを未処理コマンドとしてRAM408に設けたコマンド記憶領域に記憶する。 Next, the command reception interrupt process of the first sub-control unit 400 will be described using FIG. This command reception interrupt process is a process executed when the first sub-control unit 400 detects a strobe signal output from the main control unit 300. In step S401 of the command reception interrupt process, the command output from the main control unit 300 is stored as an unprocessed command in a command storage area provided in the RAM 408.
次に、同図(c)を用いて、第1副制御部400のCPU404によって実行する第1副制御部タイマ割込処理について説明する。第1副制御部400は、所定の周期(本実施例では2msに1回)でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。 Next, the first sub control unit timer interrupt process executed by the CPU 404 of the first sub control unit 400 will be described with reference to FIG. The first sub-control unit 400 includes a hardware timer that generates a timer interrupt at a predetermined cycle (in this embodiment, once every 2 ms). Execute in the cycle.
第1副制御部タイマ割込処理のステップS501では、第1副制御部メイン処理におけるステップS303において説明したRAM408のタイマ変数記憶領域の値に、1を加算して元のタイマ変数記憶領域に記憶する。従って、ステップS303において、タイマ変数の値が10以上と判定されるのは20ms毎(2ms×10)となる。 In step S501 of the first sub-control unit timer interrupt process, 1 is added to the value of the timer variable storage area of the RAM 408 described in step S303 in the first sub-control unit main process, and the original timer variable storage area is stored. To do. Therefore, in step S303, the value of the timer variable is determined to be 10 or more every 20 ms (2 ms × 10).
第1副制御部タイマ割込処理のステップS503では、ステップS319で設定された第2副制御部500への制御コマンドの送信や、演出用乱数値の更新処理等を行う。 In step S503 of the first sub control unit timer interrupt process, a control command is transmitted to the second sub control unit 500 set in step S319, an effect random number value is updated, and the like.
次に、同図(d)を用いて、第1副制御部400のメイン処理におけるステップS313の画像制御処理について説明する。同図は、画像制御処理の流れを示すフローチャートを示した図である。 Next, the image control process in step S313 in the main process of the first sub control unit 400 will be described with reference to FIG. FIG. 5 is a flowchart showing the flow of image control processing.
ステップS601では、画像データの転送指示を行う。ここでは、CPU404は、まず、VRAM436の表示領域Aと表示領域Bの描画領域の指定をスワップする。これにより、描画領域に指定されていない表示領域に記憶された1フレームの画像が装飾図柄表示装置208に表示される。次に、CPU404は、VDP434のアトリビュートレジスタに、位置情報等テーブルに基づいてROM座標(ROM406の転送元アドレス)、VRAM座標(VRAM436の転送先アドレス)などを設定した後、ROM406からVRAM436への画像データの転送開始を指示する命令を設定する。VDP434は、アトリビュートレジスタに設定された命令に基づいて画像データをROM406からVRAM436に転送する。その後、VDP436は、転送終了割込信号をCPU404に対して出力する。 In step S601, an instruction to transfer image data is issued. Here, the CPU 404 first swaps the designation of the display areas A and B in the VRAM 436. As a result, an image of one frame stored in the display area not designated as the drawing area is displayed on the decorative design display device 208. Next, the CPU 404 sets ROM coordinates (transfer source address of the ROM 406), VRAM coordinates (transfer destination address of the VRAM 436) and the like in the attribute register of the VDP 434 based on the position information table and the like, and then the image from the ROM 406 to the VRAM 436. Set an instruction to start data transfer. The VDP 434 transfers the image data from the ROM 406 to the VRAM 436 based on the command set in the attribute register. Thereafter, the VDP 436 outputs a transfer end interrupt signal to the CPU 404.
ステップS603では、VDP434からの転送終了割込信号が入力されたか否かを判定し、転送終了割込信号が入力された場合はステップS605に進み、そうでない場合は転送終了割込信号が入力されるのを待つ。ステップS605では、演出シナリオ構成テーブルおよびアトリビュートデータなどに基づいて、パラメータ設定を行う。ここでは、CPU404は、ステップS601でVRAM436に転送した画像データに基づいてVRAM436の表示領域AまたはBに表示画像を形成するために、表示画像を構成する画像データの情報(VRAM436の座標軸、画像サイズ、VRAM座標(配置座標)など)をVDP434に指示する。VDP434はアトリビュートレジスタに格納された命令に基づいてアトリビュートに従ったパラメータ設定を行う。 In step S603, it is determined whether or not a transfer end interrupt signal from the VDP 434 is input. If a transfer end interrupt signal is input, the process proceeds to step S605. If not, a transfer end interrupt signal is input. Wait for it. In step S605, parameters are set based on the production scenario configuration table and attribute data. Here, in order to form a display image in the display area A or B of the VRAM 436 based on the image data transferred to the VRAM 436 in step S601, the CPU 404 has information on the image data constituting the display image (coordinate axis and image size of the VRAM 436). , VRAM coordinates (arrangement coordinates, etc.) are instructed to the VDP 434. The VDP 434 sets parameters according to attributes based on instructions stored in the attribute register.
ステップS607では、描画指示を行う。この描画指示では、CPU404は、VDP434に画像の描画開始を指示する。VDP434は、CPU404の指示に従ってフレームバッファにおける画像描画を開始する。 In step S607, a drawing instruction is performed. In this drawing instruction, the CPU 404 instructs the VDP 434 to start drawing an image. The VDP 434 starts drawing an image in the frame buffer in accordance with an instruction from the CPU 404.
ステップS609では、画像の描画終了に基づくVDP434からの生成終了割込み信号が入力されたか否かを判定し、生成終了割込み信号が入力された場合はステップS611に進み、そうでない場合は生成終了割込み信号が入力されるのを待つ。ステップS611では、RAM408の所定の領域に設定され、何シーンの画像を生成したかをカウントするシーン表示カウンタをインクリメント(+1)して処理を終了する。
<第2副制御部500の処理>
In step S609, it is determined whether or not a generation end interrupt signal from the VDP 434 based on the end of image drawing is input. If a generation end interrupt signal is input, the process proceeds to step S611. If not, the generation end interrupt signal is determined. Wait for input. In step S611, a scene display counter that is set in a predetermined area of the RAM 408 and counts how many scene images have been generated is incremented (+1), and the process ends.
<Processing of Second Sub-Control Unit 500>
次に、図16を用いて、第2副制御部500の処理について説明する。なお、同図(a)は、第2副制御部500のCPU504が実行するメイン処理のフローチャートである。同図(b)は、第2副制御部500のコマンド受信割込処理のフローチャートである。同図(c)は、第2副制御部500のタイマ割込処理のフローチャートである。 Next, the processing of the second sub control unit 500 will be described with reference to FIG. FIG. 6A is a flowchart of main processing executed by the CPU 504 of the second sub-control unit 500. FIG. 7B is a flowchart of command reception interrupt processing of the second sub control unit 500. FIG. 8C is a flowchart of the timer interrupt process of the second sub control unit 500.
まず、同図(a)のステップS701では、各種の初期設定を行う。電源投入が行われると、まずS701で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、RAM508内の記憶領域の初期化処理等を行う。 First, in step S701 in FIG. 9A, various initial settings are performed. When the power is turned on, first, initialization processing is executed in S701. In this initialization processing, initial setting of input / output ports, initialization processing of a storage area in the RAM 508, and the like are performed.
ステップS703では、タイマ変数が10以上か否かを判定し、タイマ変数が10となるまでこの処理を繰り返し、タイマ変数が10以上となったときには、ステップS705の処理に移行する。 In step S703, it is determined whether or not the timer variable is 10 or more, and this process is repeated until the timer variable becomes 10. When the timer variable becomes 10 or more, the process proceeds to step S705.
ステップS705では、タイマ変数に0を代入する。ステップS707では、コマンド処理を行う。第2副制御部500のCPU504は、第1副制御部400のCPU404からコマンドを受信したか否かを判別する。ステップS709では、演出制御処理を行う。例えば、S707で新たなコマンドがあった場合には、このコマンドに対応する演出データをROM506から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行う。 In step S705, 0 is assigned to the timer variable. In step S707, command processing is performed. The CPU 504 of the second sub control unit 500 determines whether a command has been received from the CPU 404 of the first sub control unit 400. In step S709, an effect control process is performed. For example, when there is a new command in S707, the effect data corresponding to this command is read from the ROM 506, and when the effect data needs to be updated, the effect data is updated.
ステップS711では、第1副制御部400からの遊技盤用ランプ532や遊技台枠用ランプ542への命令がある場合には、この命令をシリアル通信制御回路520に出力する。 In step S <b> 711, if there is a command from the first sub-control unit 400 to the game board lamp 532 or the game table frame lamp 542, this command is output to the serial communication control circuit 520.
ステップS713では、第1副制御部400からの演出可動体224への命令がある場合には、この命令を駆動回路516に出力し、S703に戻る。 In step S713, if there is a command from the first sub-control unit 400 to the effect movable body 224, this command is output to the drive circuit 516, and the process returns to S703.
次に、同図(b)を用いて、第2副制御部500のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第2副制御部500が、第1副制御部400が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップS801では、第1副制御部400が出力したコマンドを未処理コマンドとしてRAM508に設けたコマンド記憶領域に記憶する。 Next, the command reception interrupt process of the second sub control unit 500 will be described with reference to FIG. This command reception interrupt process is a process executed when the second sub control unit 500 detects the strobe signal output from the first sub control unit 400. In step S801 of the command reception interrupt process, the command output from the first sub control unit 400 is stored as an unprocessed command in a command storage area provided in the RAM 508.
次に、同図(c)を用いて、第2副制御部500のCPU504によって実行する第2副制御部タイマ割込処理について説明する。第2副制御部500は、所定の周期(本実施例では2msに1回)でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。 Next, the second sub control unit timer interrupt process executed by the CPU 504 of the second sub control unit 500 will be described with reference to FIG. The second sub-control unit 500 includes a hardware timer that generates a timer interrupt at a predetermined cycle (in this embodiment, once every 2 ms), and a timer interrupt process is performed in response to this timer interrupt. Execute in the cycle.
第2副制御部タイマ割込処理のステップS901では、第2副制御部メイン処理におけるステップS703において説明したRAM508のタイマ変数記憶領域の値に、1を加算して元のタイマ変数記憶領域に記憶する。従って、ステップS703において、タイマ変数の値が10以上と判定されるのは20ms毎(2ms×10)となる。第2副制御部タイマ割込処理のステップS903では、演出用乱数値の更新処理等を行う。
<主制御部のROM>
In step S901 of the second sub control unit timer interrupt process, 1 is added to the value of the timer variable storage area of the RAM 508 described in step S703 in the second sub control unit main process, and the result is stored in the original timer variable storage area. To do. Therefore, in step S703, the value of the timer variable is determined to be 10 or more every 20 ms (2 ms × 10). In step S903 of the second sub-control unit timer interrupt process, an effect random number update process is performed.
<ROM of main controller>
次に、図17を用いて、主制御部300のROM306に記憶されるデータの種類について説明する。なお、同図は、上述のROM306に記憶されるデータの一例を示した図である。 Next, the types of data stored in the ROM 306 of the main control unit 300 will be described with reference to FIG. The figure shows an example of data stored in the ROM 306 described above.
ROM306の記憶領域に対応するROM領域(本実施形態では、0000H〜2FFFHの16Kバイト領域)は、ROM制御領域(本実施形態では、0000H〜0BB0H)、非使用領域(本実施形態では、0BB1H〜0FFFH)、ROMデータ領域(本実施形態では、1FFFH〜18FDH)およびその他領域(本実施形態では、18FEH〜2FFFH)で構成されている。このROM制御領域に対応するROM306の記憶領域には、CPU304が実行する複数種類の命令それぞれに対応する命令データ(オペコード)やCPU304がそれぞれの命令を実行するために必要な補足データ(オペランド)によって構成される制御プログラム用のデータ(単に、制御プログラムデータと称する場合がある)が記憶され、非使用領域に対応するROM306の記憶領域には、特定値(本実施形態では、00H)が一律に記憶され、ROMデータ領域に対応するROM306の記憶領域には、上記の制御プログラムによって参照される参照データ(例えば、上述の各種抽選データ)が記憶されている。また、その他領域に対応するROM306の記憶領域には、制御プログラムを管理するための管理データ(例えば、制御プログラムデータの最終アドレスを示すデータ)などが記憶されている。なお、本実施形態では、ROM領域の各々のアドレスに対応するROM306の記憶領域には、1バイト(8ビット)のデータが記憶可能であり、上述の各データ(命令データ、補足データ、参照データ、管理データ)が1バイトを超えるバイト数(例えば、2バイト)のデータである場合には、ROM制御領域の連続する複数のアドレスに対応するROM306の記憶領域に1バイト毎に分割して記憶している。 The ROM area corresponding to the storage area of the ROM 306 (in this embodiment, a 16 Kbyte area from 0000H to 2FFFH) is a ROM control area (in this embodiment, 0000H to 0BB0H), a non-use area (in this embodiment, 0BB1H to 0FFFH), ROM data area (1FFFH to 18FDH in this embodiment), and other areas (18FEH to 2FFFH in this embodiment). The storage area of the ROM 306 corresponding to this ROM control area contains instruction data (opcode) corresponding to each of a plurality of types of instructions executed by the CPU 304 and supplementary data (operands) necessary for the CPU 304 to execute each instruction. Data for the configured control program (sometimes simply referred to as control program data) is stored, and a specific value (00H in this embodiment) is uniformly set in the storage area of the ROM 306 corresponding to the non-use area. In the storage area of the ROM 306 that is stored and corresponds to the ROM data area, reference data (for example, the above-mentioned various lottery data) referred to by the control program is stored. Also, management data for managing the control program (for example, data indicating the final address of the control program data) is stored in the storage area of the ROM 306 corresponding to the other area. In this embodiment, 1-byte (8-bit) data can be stored in the storage area of the ROM 306 corresponding to each address in the ROM area, and each of the above-described data (command data, supplemental data, reference data) , Management data) is data having a number of bytes exceeding 1 byte (for example, 2 bytes), the data is divided and stored for each byte in the storage area of the ROM 306 corresponding to a plurality of consecutive addresses in the ROM control area. doing.
また、制御プログラムは、複数のサブルーチンによって構成されており、後述するCALL命令やEXESUB(EXECUTE SUBROUTINE)命令などによってサブルーチンの先頭アドレスに移動して、当該サブルーチンを順次実行することが可能になっている。 Further, the control program is composed of a plurality of subroutines, and it is possible to move to the top address of the subroutine by a CALL instruction, an EXESUB (EXECUTE SUBBROUTINE) instruction, which will be described later, and execute the subroutine sequentially. .
ところで、遊技台の分野では、制御プログラムの検査効率化の観点から、制御プログラムデータを記憶する記憶領域を制限する必要があり、本実施形態では、上述の通りROM制御領域を0000H〜0BB0Hに制限している。また、不正改造の抑止の観点から、制御プログラムデータ間に非使用領域や非使用のデータを設けないようにROM制御領域の若いアドレスに詰めて制御用プログラムデータを記憶する必要があるため、開発段階で非使用となった制御プログラムデータの記憶領域を埋めるために別の制御プログラムデータを分割して割り当てるなどの作業が発生し、結果としてサブルーチンを呼び出す制御プログラムデータが多数必要となってくる。さらに、制御プログラムの開発効率を向上させるためや、制御プログラムのデバッグ作業等のメンテナンス作業を簡便にするためにもサブルーチンを多用しているため、サブルーチンを呼び出す制御プログラムデータが多数必要となってくる。 By the way, in the field of gaming machines, it is necessary to limit the storage area for storing control program data from the viewpoint of improving the inspection efficiency of the control program. In this embodiment, the ROM control area is limited to 0000H to 0BB0H as described above. doing. In addition, from the viewpoint of preventing unauthorized modification, it is necessary to store control program data in a young address in the ROM control area so that no unused area or unused data is provided between control program data. In order to fill the storage area of the control program data that is not used at the stage, work such as dividing and assigning another control program data occurs, and as a result, a lot of control program data for calling a subroutine is required. Furthermore, since subroutines are frequently used to improve control program development efficiency and to simplify maintenance work such as control program debugging, a large amount of control program data is required to call the subroutines. .
このような開発環境の中で遊技の興趣を高めることを可能にするためには、ROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータ(例えば、上述のサブルーチンを呼び出す制御プログラムデータ)を圧縮し、ROM制御領域に対応するROM306の記憶領域に新しい制御プログラムデータを追加することが可能な記憶領域を確保することが必要となってくる。 In order to enhance the interest of the game in such a development environment, conventional control program data stored in the storage area of the ROM 306 corresponding to the ROM control area (for example, calling the above subroutine) It is necessary to secure a storage area where new control program data can be added to the storage area of the ROM 306 corresponding to the ROM control area.
特に、所定の周期(例えば、10ms)毎に所定の処理を実行するタイマ割込み処理を実行するための制御プログラムには、複数の遊技制御処理のうちランダムに発生する複数の外部情報(各センサの変化等)を検出する処理(例えば、入力ポート状態更新処理(ステップS205))や外部情報の検出結果に基づいた処理(例えば、デバイス監視処理(ステップS237))など多くのサブルーチンを呼び出すための制御プログラムデータが含まれているため、このタイマ割込み処理を実行するための制御プログラムに含まれるサブルーチンを呼び出す制御プログラムデータの圧縮が必要となってくる。 In particular, a control program for executing a timer interrupt process for executing a predetermined process at a predetermined period (for example, 10 ms) includes a plurality of external information randomly generated from a plurality of game control processes (for each sensor). Control for invoking many subroutines, such as processing for detecting changes (for example, input port state update processing (step S205)) and processing based on detection results of external information (for example, device monitoring processing (step S237)) Since the program data is included, it is necessary to compress the control program data for calling a subroutine included in the control program for executing the timer interrupt process.
また、安定した遊技制御をおこなえるようにするためには、上述のタイマ割込み処理を重点的に安定化させなければならない。具体的には、コーディングミスを抑止すること、所定の周期(例えば、10ms)毎に所定の処理を実行させるために(リアルタイム性を確保するために)処理速度を向上させることなどが必須となるため、サブルーチンを呼び出す制御プログラムに関する工夫が必要となる(詳細は後述する)。
<主制御部の命令データ>
In addition, in order to be able to perform stable game control, the above-described timer interrupt process must be focused and stabilized. Specifically, it is indispensable to suppress coding mistakes and to improve processing speed in order to execute predetermined processing at predetermined intervals (for example, 10 ms) (to ensure real-time performance). Therefore, it is necessary to devise a control program for calling a subroutine (details will be described later).
<Command data of main control unit>
次に、主制御部300の命令データについて説明する。図18は、主制御部300の命令データの構成の一例を示した図である。また、図19(a)は、主制御部300の命令データの上位ビットと下位ビットを示した図であり、同図(b)は、命令データテーブルの一例を示した図である。 Next, the command data of the main control unit 300 will be described. FIG. 18 is a diagram illustrating an example of a configuration of instruction data of the main control unit 300. FIG. 19A is a diagram showing upper and lower bits of instruction data of the main control unit 300, and FIG. 19B is a diagram showing an example of an instruction data table.
主制御部300の命令データは、例えば、命令データが1バイト(8ビット)のデータによって構成される場合には、最大で256パターン定義することが可能である。なお、定義された命令データはROM306に記憶されているものではなく、CPU304にハード的に組み込まれているものである。また、1バイトの命令データについて、各々を上位4ビットと下位4ビットによって分類分けすると、上記パターンと命令データの関係性は、図19(b)に示される通りとなる。例えば、「INC BC(BCレジスタを1つ加算する命令)」に使用されるINC(命令データ)は、上位ビット0H(0000B)、下位ビット3H(0011B)に割り当てられ、「DEC B(Bレジスタを1つ減算する命令)」に使用されるDEC(命令データ)は、上位ビット0H(0000B)、下位ビット5H(0101B)に割り当てられている。 For example, when the instruction data is composed of 1-byte (8-bit) data, the instruction data of the main control unit 300 can be defined up to 256 patterns. Note that the defined instruction data is not stored in the ROM 306 but is incorporated in the CPU 304 in hardware. Further, when the 1-byte instruction data is classified according to the upper 4 bits and the lower 4 bits, the relationship between the pattern and the instruction data is as shown in FIG. For example, INC (instruction data) used for “INC BC (instruction for adding one BC register)” is assigned to upper bit 0H (0000B) and lower bit 3H (0011B), and “DEC B (B register DEC (instruction data) used for “an instruction for subtracting 1 from” is assigned to the upper bit 0H (0000B) and the lower bit 5H (0101B).
なお、1バイト長で定義可能な256パターンの命令データを上回るパターン数の命令データを割り当てる方法として、例えば、上記1バイトで定義される256パターンのうち1パターンに対してさらに新たな1バイトで定義される256パターンを対応付けることで最大511パターン(255パターン(1バイトの命令データ)+256パターン(2バイトの命令データ))の命令データを定義する方法があるが、拡張した命令データは、2バイトのデータによって構成されるため、この命令を使用すると、上述の1バイトの命令データを使用するよりもROM制御領域に対応するROM306の記憶領域を圧迫してしまう。 In addition, as a method of allocating instruction data having a pattern number exceeding 256 patterns of instruction data that can be defined by 1 byte length, for example, a new one byte is added to one pattern among the 256 patterns defined by 1 byte. There is a method of defining instruction data of up to 511 patterns (255 patterns (1 byte instruction data) +256 patterns (2 bytes instruction data)) by associating 256 patterns to be defined. Since this instruction is used because it is composed of byte data, the storage area of the ROM 306 corresponding to the ROM control area is compressed rather than using the above-described one-byte instruction data.
そこで、本実施形態では、図19(b)の太線で囲った領域、すなわち、上位ビット1H(0001B)と下位ビット8H(1000B)〜FH(1111B)の組合せと、上位ビット3H(0011B)と下位ビット8H(1000B)〜FH(1111B)の組合せからなる領域を、後述するEXESUB命令を割り当てるための特別な領域としている。このように、従来、命令データが割り当てられていない、または、割り当てられていた命令データが削除された空き領域を特別な領域として利用することで、限られたハードウェア資源(例えば、1バイトで定義可能なパターン(256パターン))を有効利用することができ、命令データによるROM制御領域に対応するROM306の記憶領域の圧迫を抑制することができる。 Therefore, in this embodiment, the region surrounded by the thick line in FIG. 19B, that is, the combination of the upper bit 1H (0001B) and the lower bits 8H (1000B) to FH (1111B), and the upper bit 3H (0011B) An area formed by a combination of the lower bits 8H (1000B) to FH (1111B) is set as a special area for assigning an EXESUB instruction to be described later. As described above, a limited hardware resource (for example, 1 byte) can be used by using, as a special area, an empty area from which instruction data has not been allocated or the allocated instruction data has been deleted. A definable pattern (256 patterns)) can be used effectively, and compression of the storage area of the ROM 306 corresponding to the ROM control area by instruction data can be suppressed.
また、命令データは、アセンブル後の機械語のチェックを簡便にするためにも役割ごとにグループ化(一の上位ビットに対して連続する複数の下位ビットの組合せからなる領域、または、一の下位ビットに対して連続する複数の上位ビットの組合せからなる領域に、同系統の役割を持つ命令データを割り当てる)して命令データテーブルに割り当てている(例えば、上位ビット8H(1000B)と下位ビット0H(0000B)〜7H(0111B)の組合せで定義される部分におけるADD命令)。近年では、チップの開発負担を軽減するため、従来の命令データテーブルに割り当てている命令データの削減、または削減した命令データを割り当てていた部分への新たな命令データを追加するなどしてチップの開発を行う。このため、アセンブル後の機械語のチェックを簡便にしつつも、データ圧縮のために命令データを新たに追加する際には、追加する同系統の命令データをグループにして割り当てていく必要があり、本実施形態では、EXESUB命令をグループにして特別な領域に割り当てることで解決を図っている。さらに、小分けされた特別な領域に対して新たな命令データを効率良く割り当てるためには、追加する命令データのグループを小分けのグループにして割り当てていく必要があり、本実施形態では、さらに、EXESUB命令を小分けのグループにして小分けされた特別な領域に割り当てることで解決を図っている。
<CALL命令>
Also, the instruction data is grouped by role (an area consisting of a combination of a plurality of lower bits consecutive to one upper bit or one lower bit for easy checking of the machine language after assembly. An instruction data having the same system role is assigned to an area composed of a combination of a plurality of consecutive upper bits with respect to a bit and assigned to an instruction data table (for example, upper bit 8H (1000B) and lower bit 0H (ADD instruction in a part defined by a combination of (0000B) to 7H (0111B)). In recent years, in order to reduce the development burden of the chip, the instruction data allocated to the conventional instruction data table has been reduced, or new instruction data has been added to the part to which the reduced instruction data has been allocated. Develop. For this reason, it is necessary to assign the instruction data of the same system to be added as a group when newly adding instruction data for data compression while simplifying checking the machine language after assembly. In the present embodiment, the problem is solved by allocating the EXESUB instruction as a group to a special area. Furthermore, in order to efficiently allocate new instruction data to the subdivided special area, it is necessary to allocate the instruction data group to be added as a subdivided group. In this embodiment, the EXESUB is further allocated. The problem is solved by assigning instructions to sub-groups and assigning them to special sub-regions.
<CALL instruction>
次に、上述の制御プログラムの一つであるCALL命令について説明する。図20は、CALL命令によるアドレスの移動の一例を概念的に示したものであり、図21は、CALL命令の命令データと補足データの一例を示したである。 Next, a CALL instruction which is one of the above control programs will be described. FIG. 20 conceptually shows an example of address movement by the CALL instruction, and FIG. 21 shows an example of instruction data and supplementary data of the CALL instruction.
例えば、実行中の制御プログラムのアドレスが0700Hで、移動先のサブルーチンの先頭アドレスが03FFHの場合には、図20の符号Xで示すように、両者の相対アドレス(移動元のアドレスと移動先のアドレスの差)は、0301H(=0700H−03FFH)であり、この相対アドレスは2バイトのデータで表現可能である。ここで、この制御プログラムをCALL命令によって表現すると、図21(a)に示すように、CALL命令を示す1バイトの命令データと移動先のアドレスを示す2バイトの補足データで合計3バイトの制御プログラムデータが必要となる。 For example, when the address of the control program being executed is 0700H and the start address of the transfer destination subroutine is 03FFH, the relative addresses of the two (the transfer source address and the transfer destination address) are indicated by the symbol X in FIG. The address difference is 0301H (= 0700H-03FFH), and this relative address can be expressed by 2-byte data. Here, when this control program is expressed by a CALL instruction, as shown in FIG. 21A, a total of 3 bytes of control is performed with 1 byte of instruction data indicating the CALL instruction and 2 bytes of supplementary data indicating the destination address. Program data is required.
また、実行中の制御プログラムのアドレスが0700Hで、移動先のサブルーチンの先頭アドレスが075FHの場合には、図20の符号Yで示すように、両者の相対アドレスは、005FH(=075FH−03FFH)であり、この相対アドレスは1バイトのデータで表現可能である。この場合であっても、この制御プログラムをCALL命令によって表現すると、図21(b)に示すように、CALL命令を示す1バイトの命令データと移動先のアドレスを示す2バイトの補足データで合計3バイトの制御プログラムデータが必要である。 Further, when the address of the control program being executed is 0700H and the start address of the destination subroutine is 075FH, the relative address of both is 005FH (= 075FH-03FFH), as indicated by the symbol Y in FIG. The relative address can be expressed by 1-byte data. Even in this case, if this control program is expressed by a CALL instruction, as shown in FIG. 21B, a total of 1 byte of instruction data indicating the CALL instruction and 2 bytes of supplementary data indicating the destination address is added. 3-byte control program data is required.
すなわち、CALL命令を実行するための制御プログラムは、移動先のアドレス(2バイトで定義可能な記憶領域(0000H〜FFFFH)内の任意のアドレス)に関わらず、3バイトの制御プログラムデータが必要となる。 That is, the control program for executing the CALL instruction requires 3 bytes of control program data regardless of the destination address (any address in the storage area (0000H to FFFFH) that can be defined by 2 bytes). Become.
なお、CALL命令を実行する際にCPU304は、具体的に、PCレジスタ(プログラムカウンタ)に記憶されているデータ(2バイト)をスタックエリアに記憶させる処理を実行した後に、CALL命令を実行するための補足データ(移動先のサブルーチンの先頭アドレスを示すデータ(2バイト))をPCレジスタ(プログラムカウンタ)に記憶させる処理(サブルーチンの先頭アドレスに移動)を実行することで、サブルーチンを呼び出すことが可能となる。
<EXESUB命令>
When executing the CALL instruction, the CPU 304 specifically executes the CALL instruction after executing the process of storing the data (2 bytes) stored in the PC register (program counter) in the stack area. Subroutine can be called by executing a process (moving to the start address of the subroutine) that stores the supplementary data (data indicating the start address of the transfer destination subroutine (2 bytes)) in the PC register (program counter) It becomes.
<EXESUB instruction>
次に、上述の制御プログラムの一つであるEXESUB命令について説明する。図22(a)は、EXESUB命令の構成の一例を示した図であり、同図(b)は、図19(b)の空き領域に対してEXESUB命令を割り当てた命令データテーブルを示した図である。 Next, the EXESUB instruction, which is one of the above control programs, will be described. FIG. 22A is a diagram showing an example of the configuration of the EXESUB instruction, and FIG. 22B is a diagram showing an instruction data table in which the EXESUB instruction is assigned to the free area of FIG. 19B. It is.
EXESUB命令は、上述のCALL命令同様にサブルーチンを呼び出すことが可能となる命令という点では同じであるが、命令データ/補足データの構造および制御プログラムデータに必要な記憶容量が異なる(詳細は後述する)。
<EXESUB命令/命令データ>
The EXESUB instruction is the same as the above CALL instruction in that it can call a subroutine, but the structure of instruction data / supplementary data and the storage capacity required for control program data are different (details will be described later) ).
<EXESUB instruction / instruction data>
EXESUB命令の命令データは、本実施形態では、最上位ビット7(MSB)から最下位ビット0(LSB)の順番で、ビット7の0(固定値)、ビット6の0(固定値)、ビット5のα(可変値)、ビット4の1(固定値)、ビット3の1(固定値)、ビット2のβ(可変値)、ビット1のγ(可変値)、ビット0のδ(可変値)の合計8ビット(1バイト)で構成されている。すなわち、EXESUB命令は上述の可変値を変えることによって定義されるパターン(2の4乗=16パターン)の命令データとなる。なお、ビット5のα、ビット2のβ、ビット1のγおよびビット0のδの合計4ビットのデータであるmは、0H〜FHの数値範囲を表現可能であり、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報(バイナリ形式)の一部である。 In the present embodiment, the instruction data of the EXESUB instruction includes 0 (fixed value) of bit 7, 0 (fixed value) of bit 6, bit, in order from the most significant bit 7 (MSB) to the least significant bit 0 (LSB). 5 for α (variable value), 1 for bit 4 (fixed value), 1 for bit 3 (fixed value), β for bit 2 (variable value), γ for bit 1 (variable value), δ for bit 0 (variable) Value) is a total of 8 bits (1 byte). That is, the EXESUB instruction becomes instruction data of a pattern (2 4 = 16 patterns) defined by changing the above-described variable value. Note that m, which is a total of 4 bits of data of α of bit 5, β of bit 2, γ of bit 1, and δ of bit 0, can represent a numerical range of 0H to FH, and represents the start address of the subroutine to be called It is a part of identification information (binary format) that can be identified.
また、EXESUB命令の命令データは、上述の通り、命令データテーブルのうちの同図(b)に示す太線で囲った領域、すなわち、上位ビット1H(0001B)と下位ビット8H(1000B)〜FH(1111B)の組合せと、上位ビット3H(0011B)と下位ビット8H(0111B)〜FH(1111B)の組合せからなる空き領域(従来、命令データが割り当てられていない、または、割り当てられていた命令データが削除された領域)に割り当てられる。 Further, as described above, the instruction data of the EXESUB instruction is an area surrounded by a thick line in the instruction data table shown in FIG. 5B, that is, the upper bit 1H (0001B) and the lower bits 8H (1000B) to FH ( 1111B) and a free space consisting of a combination of the upper bit 3H (0011B) and the lower bits 8H (0111B) to FH (1111B) (in the past, no instruction data has been assigned or assigned instruction data Allocated to the deleted area).
なお、上述の通り、EXESUB命令の命令データが、可変値のビットと可変値のビットの間に、固定値のビットが入るように構成されていることにより、EXESUB命令の命令データをグループ化しつつ、上述の空き領域に割り当てることが可能になる。よって、EXESUB命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。 As described above, the instruction data of the EXESUB instruction is configured such that a fixed value bit is inserted between the variable value bit and the variable value bit, thereby grouping the instruction data of the EXESUB instruction. , It becomes possible to allocate to the above-mentioned free space. Therefore, the machine language of the EXESUB instruction data can be easily checked and coding errors can be suppressed.
さらに、上述の通り、EXESUB命令の命令データが、1または複数の固定値のビット(例えば、上記のビット4、ビット3)を挟んで上位にある可変値のビット数(例えば、1(上記のビット5))と比較して当該固定値のビットを挟んで下位にある可変値のビット数(例えば、3(上記のビット2、ビット1、ビット0))が大きくなる(記憶容量が大きくなる)ように構成されていることにより、EXESUB命令の命令データをグループ化しつつも、きめ細かく上述の空き領域に割り当てることが可能になる。よって、限られたハードウェア資源(例えば、1バイトで定義可能なパターン(256パターン))を有効利用することができ、命令データの圧縮によるROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。なお、1または複数の固定値のビットを挟んで下位にある可変値のビット数と比較して当該固定値を挟んで上位にある可変値のビット数が大きくなる(記憶容量が大きくなる)ように構成した場合であっても、上述の効果を奏する。 Furthermore, as described above, the instruction data of the EXESUB instruction has a variable value bit number (for example, 1 (above 1) described above) with one or more fixed value bits (for example, the above bit 4 and bit 3) interposed therebetween. Compared with bit 5)), the number of lower-order variable values (for example, 3 (bit 2, bit 1, bit 0 above)) across the fixed value bit is increased (the storage capacity is increased). ), The instruction data of the EXESUB instruction can be grouped and finely allocated to the above-described free area. Therefore, limited hardware resources (for example, patterns that can be defined by 1 byte (256 patterns)) can be used effectively and stored in the storage area of the ROM 306 corresponding to the ROM control area by compressing instruction data. The conventional control program data can be compressed. It should be noted that the number of bits of the upper variable value across the fixed value is larger than the number of bits of the lower variable value across the one or more fixed value bits (the storage capacity is increased). Even if it is comprised, it has the above-mentioned effect.
なお、上述の可変値α、β、γおよびδとEXESUB命令の命令データのビット7〜0の対応関係は上述の対応関係に限らず、例えば、ビット4に可変値αを対応させ、同様に、ビット2に可変値β、ビット1に可変地γ、ビット0に可変値δを対応させてもよく、上述した対応関係であればよい。 Note that the correspondence relationship between the above-described variable values α, β, γ, and δ and the bit 7 to 0 of the instruction data of the EXESUB instruction is not limited to the above-described correspondence relationship. , Bit 2 may be associated with variable value β, bit 1 may be associated with variable ground γ, and bit 0 may be associated with variable value δ.
さらに、命令データを構成する可変値α、β、γおよびδの順序は、任意の順序としてもよいが、上述の順序(上位ビットから順にα、β、γ、δ)、すなわち、後述するアドレスmnのmを上位ビットからα、β、γ、δの順に並べることで定義可能になる順序とすることで、EXESUB命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。
<EXESUB命令/補足データ>
Furthermore, the order of the variable values α, β, γ, and δ constituting the instruction data may be any order, but the above-described order (α, β, γ, δ in order from the upper bit), that is, an address described later. By setting m in mn to an order that can be defined by arranging α, β, γ, and δ in order from the upper bits, it is possible to easily check the machine language of the EXESUB instruction data and suppress coding errors.
<EXESUB instruction / supplementary data>
EXESUB命令の補足データは、本実施形態では、00H〜FFHの数値範囲を示す8ビットのデータであるnで構成されている。 In the present embodiment, supplementary data for the EXESUB instruction is composed of n that is 8-bit data indicating a numerical range of 00H to FFH.
よって、EXESUB命令は、命令データに含まれる4ビットのデータであるmと、8ビットの補足データであるnを、この順番で並べて(mを上位、nを下位として)構成される合計12ビットのアドレスmnによって定義可能なアドレス領域(0000H〜0FFF)に先頭アドレスを持つサブルーチンを呼び出すことができる命令となる。すなわち、nは呼び出すサブルーチンの先頭アドレスを識別可能な識別情報(バイナリ形式)から、当該識別情報の一部(m)を除いた情報の少なくとも一部である。
<EXESUB命令/サブルーチンの呼び出し>
Therefore, the EXESUB instruction has a total of 12 bits configured by arranging m, which is 4-bit data included in the instruction data, and n, which is 8-bit supplemental data, in this order (m is a higher order and n is a lower order). This is an instruction that can call a subroutine having a head address in an address area (0000H to 0FFF) definable by the address mn. That is, n is at least a part of information obtained by removing a part (m) of the identification information from the identification information (binary format) that can identify the head address of the subroutine to be called.
<EXESUB instruction / subroutine call>
図23は、EXESUB命令によるアドレスの移動の一例を概念的に示した図である。本実施形態では、m(4ビットのデータ)は、同図(a)に示すように、ROM領域のアドレス0000H〜0FFFHのうち、上位1バイトの下位4ビット(0H〜FH)を示し、n(8ビットのデータ)は、同図(b)に示すように、上位アドレスmによって表現される100H単位の記憶領域(0m00H〜0mFFH:m=0H〜FH)を1ブロックとしたときに、当該1ブロック内のアドレス(00H〜FFH)を示す値である。 FIG. 23 is a diagram conceptually showing an example of address movement by the EXESUB instruction. In this embodiment, m (4-bit data) indicates the lower 4 bits (0H to FH) of the upper 1 byte among the addresses 0000H to 0FFFH in the ROM area, as shown in FIG. (8-bit data), as shown in FIG. 4B, when the storage area of 100H units (0m00H to 0mFFH: m = 0H to FH) expressed by the upper address m is one block, This is a value indicating an address (00H to FFH) in one block.
なお、移動先のアドレスを設定可能なアドレス領域を、nまたはmのいずれのデータを上位アドレスのデータとして定義しても、後述する制御プログラムデータの削減の効果は得られるが、上述の通り、命令データに含まれるmを上位アドレスのデータとして定義することで、図23(a)に示すように、アドレス領域に対してEXESUB命令の命令データをグループ化して対応付けることができ、コーディングミスを抑制することができる。 Note that even if the address area where the destination address can be set is defined as either n or m data as upper address data, the effect of reducing the control program data described later can be obtained. By defining m included in the instruction data as upper address data, the instruction data of the EXESUB instruction can be grouped and associated with the address area as shown in FIG. can do.
また、EXESUB命令の命令データは、呼び出すサブルーチンの先頭アドレスの一部を構成するデータであるmを含んで構成されていることから、移動先のアドレスデータを間違ってしまった場合であっても、間違ってしまったデータが命令データに含まれていれば、制御プログラムの実行が停止されるため、コーディングミスを抑制することができる。 In addition, since the instruction data of the EXESUB instruction is configured to include m which is a part of the head address of the subroutine to be called, even if the destination address data is wrong, If erroneous data is included in the instruction data, execution of the control program is stopped, so that coding errors can be suppressed.
図24は、EXESUB命令によるサブルーチンの先頭アドレスの呼び出しの一例を示したものであり、図25は、EXESUB命令の命令データと補足データの一例を示した図である。 FIG. 24 shows an example of calling the top address of a subroutine by the EXESUB instruction, and FIG. 25 shows an example of instruction data and supplement data of the EXESUB instruction.
例えば、実行中の制御プログラムのアドレスが0700Hで、移動先のサブルーチンの先頭アドレスが03FFHの場合を挙げる。この制御プログラムをCALL命令で表現すると、上述の通り、図24の符号X'で示す両者の相対アドレス(移動元のアドレスと移動先のアドレスの差)は、0301H(=0700H−03FFH)であり、この相対アドレスは2バイトのデータで表現可能であり、1バイトの命令データと2バイトの補足データで合計3バイトの制御プログラムデータが必要である。 For example, suppose that the address of the control program being executed is 0700H and the start address of the transfer destination subroutine is 03FFH. When this control program is expressed by a CALL instruction, as described above, the relative address (the difference between the source address and the destination address) indicated by the symbol X ′ in FIG. 24 is 0301H (= 0700H-03FFH). This relative address can be expressed by 2 bytes of data, and requires 1 byte of instruction data and 2 bytes of supplementary data for a total of 3 bytes of control program data.
一方、この制御プログラムをEXESUB命令で表現すると、移動先のアドレスへの移動は概念的にX''で示すものとなり、この相対アドレスは、1バイトのデータで表現可能な00FFH(=03FFH−0300H)となる。すなわち、EXESUB命令は、図25(a)に示すように、00011011Bで表される1バイトの命令データと、11111111Bで表される1バイトの補足データで合計2バイトの制御プログラムデータが必要となる。 On the other hand, when this control program is expressed by an EXESUB instruction, the movement to the destination address is conceptually indicated by X ″, and this relative address is 00FFH (= 03FFH-0300H) that can be expressed by 1-byte data. ) That is, as shown in FIG. 25 (a), the EXESUB instruction requires 1 byte of instruction data represented by 0101101B and 1 byte of supplementary data represented by 11111111B, which requires 2 bytes of control program data. .
また、実行中の制御プログラムのアドレスが0700Hで、呼び出し先のサブルーチンの先頭アドレスが075FHの場合を挙げる。この場合は、この制御プログラムがCALL命令またはEXESUB命令のいずれで表現する場合であっても、上述の通り、図24の符号Y'で示すように、両者の相対アドレスは、1バイトで表現可能な005FH(=0C5FH−0C00H)であり、この相対アドレスは1バイトのデータで表現可能であるが、この制御プログラムをCALL命令で表現すると、1バイトの命令データと2バイトの補足データで合計3バイトの制御プログラムデータが必要となる。 Further, a case where the address of the control program being executed is 0700H and the start address of the subroutine to be called is 075FH will be described. In this case, even if this control program is expressed by either a CALL instruction or an EXESUB instruction, as shown above, the relative address of both can be expressed by 1 byte, as indicated by the symbol Y ′ in FIG. 005FH (= 0C5FH-0C00H), and this relative address can be expressed by 1-byte data. However, when this control program is expressed by a CALL instruction, a total of 3 bytes of 1-byte instruction data and 2 bytes of supplementary data are provided. Byte control program data is required.
一方、この制御プログラムをEXESUB命令で表現すると、図25(b)に示すように、00011111Bで表される1バイトの命令データと、01011111Bで表される1バイトの補足データの合計2バイトの制御プログラムデータが必要となり、上述のCALL命令よりも、1命令当りのデータを1バイト削減することができる。 On the other hand, when this control program is expressed by an EXESUB instruction, as shown in FIG. 25 (b), a total of 2 bytes of control including 1-byte instruction data represented by 00001111B and 1-byte supplement data represented by 0101111B. Program data is required, and the data per instruction can be reduced by 1 byte compared to the CALL instruction described above.
よって、EXESUB命令を実行するための制御プログラムは、移動先のアドレス(12ビットで定義可能な記憶領域(0000H〜0FFFH)内の任意のアドレス)に関わらず、2バイトの制御プログラムデータが必要となり、上述のCALL命令よりも、1命令当りの制御プログラムデータを1バイト削減することができる。 Therefore, the control program for executing the EXESUB instruction requires control program data of 2 bytes regardless of the destination address (any address in the storage area (0000H to 0FFFH) that can be defined by 12 bits). As compared with the above CALL instruction, the control program data per instruction can be reduced by 1 byte.
すなわち、サブルーチンを呼び出す制御プログラムに上述のEXESUB命令を用いることで、従来のサブルーチンを呼び出す制御プログラム(例えば、CALL命令)を圧縮することができ、ROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータを圧縮することが可能となる。 That is, by using the above EXESUB instruction for a control program for calling a subroutine, a control program (for example, a CALL instruction) for calling a conventional subroutine can be compressed and stored in the storage area of the ROM 306 corresponding to the ROM control area. The conventional control program data can be compressed.
なお、EXESUB命令を実行する際にCPU304は、具体的に、PCレジスタ(プログラムカウンタ)に記憶されているデータ(2バイト)をスタックエリアに記憶させる処理を実行した後に、EXESUB命令を実行するための補足データ(移動先のサブルーチンの先頭アドレスを示すデータ(2バイト))をPCレジスタ(プログラムカウンタ)に記憶させる処理(サブルーチンの先頭アドレスに移動)を実行することで、サブルーチンを呼び出すことが可能となる。 Note that when executing the EXESUB instruction, the CPU 304 specifically executes the EXEBUS instruction after executing the process of storing the data (2 bytes) stored in the PC register (program counter) in the stack area. Subroutine can be called by executing a process (moving to the start address of the subroutine) that stores the supplementary data (data indicating the start address of the transfer destination subroutine (2 bytes)) in the PC register (program counter) It becomes.
また、サブルーチンを呼び出す制御プログラムに上述のEXESUB命令を用いることで、上述制御プログラムの圧縮に起因して従来(例えば、CALL命令)よりもサブルーチンを呼び出す制御プログラムの処理速度を向上させる(ステート数を少なくする)ことができる。 Further, by using the above EXESUB instruction for the control program for calling the subroutine, the processing speed of the control program for calling the subroutine is improved (the number of states is reduced) than the conventional (for example, CALL instruction) due to the compression of the control program. Less).
さらに、上述のように、ROM領域は、上述のEXESUB命令によって呼び出すことができる領域(本実施形態では、0000H〜0FFFH)に対応するROM306の記憶領域に、全ての制御プログラムデータが記憶されるようにROM制御領域(本実施形態では、0000H〜0BB1H)を設け、少なくとも、上述のEXESUB命令によって呼び出すことができる領域(本実施形態では、0000H〜0FFFH)から、制御プログラムデータが記憶されているROM制御領域(本実施形態では、0000H〜0BB1H)を除いた領域(本実施形態では、0BB1H〜0FFFH)を、非使用領域となるように構成されるとともに、非使用領域の後にROMデータ領域が続くように構成されている。 Further, as described above, the ROM area stores all control program data in the storage area of the ROM 306 corresponding to the area (0000H to 0FFFH in the present embodiment) that can be called by the above-described EXEBUS instruction. ROM control area (0000H to 0BB1H in this embodiment) is provided, and at least a ROM in which control program data is stored from an area (0000H to 0FFFH in this embodiment) that can be called by the above-described EXEBUS instruction The area (0BB1H to 0FFFH in this embodiment) excluding the control area (0000H to 0BB1H in this embodiment) is configured to be a non-use area, and the ROM data area follows the non-use area. It is configured as follows.
このようにROM領域を構成した遊技台において、サブルーチンを呼び出す制御プログラムに上述のEXESUB命令を用いる(ROM制御領域に対応するROM306の記憶領域にEXESUB命令の制御プログラムデータを記憶する)ことで、CPU304が制御プログラムデータおよび非使用データを除くデータを命令データとして直接読み込むことがないため、補足データのコーディングミスによるCPU304の誤作動を防止できる場合がある。
<制御プログラムの一例>
In the gaming machine having the ROM area as described above, the CPU 304 is used by using the EXESUB instruction described above as a control program for calling a subroutine (the control program data of the EXESUB instruction is stored in the storage area of the ROM 306 corresponding to the ROM control area). However, since data other than control program data and non-use data is not directly read as instruction data, malfunctioning of the CPU 304 due to a coding error in supplementary data may be prevented.
<Example of control program>
図26は、上述の主制御部タイマ割込処理の制御プログラムの一例を示したプログラムリストである。なお、「**」はEXESUB命令の補足データを示す。 FIG. 26 is a program list showing an example of a control program for the above-described main control unit timer interrupt process. “**” indicates supplementary data for the EXESUB instruction.
CPU304は、タイマ割込み処理を開始すると、まずWDTをリスタートする処理を実行し、所定の処理(詳細は省略)を実行し、その後、EXESUB命令(1)〜(19)を用いて、それぞれ、以下のサブルーチンを読み出す処理を実行する。入力ポート状態更新処理、基本乱数初期値更新処理、基本乱数更新処理、演出乱数更新処理、タイマ更新処理、入賞口カウンタ更新処理、入賞受付処理、払出要求数送信処理、普図状態更新処理、普図関連抽選処理特図先読み制御処理、特図2状態更新処理、特図1状態更新処理、特図2関連抽選処理、特図1関連抽選処理、コマンド設定送信処理、外部出力信号設定処理、デバイス監視処理、を実行し、その他の処理(詳細は省略)を実行する。なお、詳細は省略するが、上述のEXESUB命令(1)〜(19)によって呼び出されるサブルーチンの先頭アドレスはROM制御領域(本実施形態では、0000H〜0BB0H)に含まれている。 When starting the timer interrupt process, the CPU 304 first executes a process for restarting the WDT, executes a predetermined process (details omitted), and then uses the EXEBUS instructions (1) to (19), respectively. The following subroutine is read out. Input port status update processing, basic random number initial value update processing, basic random number update processing, production random number update processing, timer update processing, winning a prize counter update processing, winning acceptance processing, payout request number transmission processing, general drawing state update processing, Figure-related lottery process special figure prefetch control process, special figure 2 state update process, special figure 1 state update process, special figure 2 related lottery process, special figure 1 related lottery process, command setting transmission process, external output signal setting process, device Monitoring processing is executed, and other processing (details are omitted) is executed. Although not described in detail, the start address of the subroutine called by the above-described EXESUB instructions (1) to (19) is included in the ROM control area (0000H to 0BB0H in this embodiment).
このように、タイマ割込み処理におけるサブルーチンを呼び出す制御プログラムに上述のEXESUB命令を用いる(ROM制御領域のうちタイマ割り込み処理の領域に対応するROM306の記憶領域にEXESUB命令の制御プログラムデータを記憶する)ことで、タイマ割込み処理を安定化させることができる。 In this way, the above EXEBUS instruction is used for the control program that calls the subroutine in the timer interrupt processing (the control program data of the EXESUB instruction is stored in the storage area of the ROM 306 corresponding to the timer interrupt processing area in the ROM control area). Thus, timer interrupt processing can be stabilized.
ところで、遊技台の開発では、一般的に従来の制御プログラムの一部を変更(削除や追加など)することで新たな遊技台を開発している。特に、遊技制御の安定化を図るためにできるだけ制御プログラムの変更は避けることが望まれる。 By the way, in the development of a gaming machine, a new gaming machine is generally developed by changing (deleting or adding) a part of a conventional control program. In particular, it is desirable to avoid changing the control program as much as possible in order to stabilize game control.
よって、ROM領域(例えば、タイマ割込み処理の領域)におけるサブルーチンを呼び出す制御プログラムすべてに、上述のEXESUB命令を用いる必要はなく、必要(例えば、上述の制御プログラムデータの圧縮の要求の有無)に応じて適宜用いればよい。 Therefore, it is not necessary to use the above EXEBUS instruction for all the control programs that call subroutines in the ROM area (for example, the timer interrupt processing area), depending on necessity (for example, whether or not the above-mentioned control program data compression is requested). May be used as appropriate.
さらに、上述のEXESUB命令は、従来の1バイトの命令データと2バイトの補足データで構成される3バイト命令の制御プログラムデータ(例えば、CALL命令)を、1バイトの命令データと1バイトの補足データで構成される2バイト命令の制御プログラムデータに圧縮した制御プログラムであるが、命令データと補足データで構成される制御プログラムを圧縮する制御プログラムであればよい。すなわち、EXESUB命令は、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報(バイナリ形式)の一部を含んで構成される命令データと、当該識別情報から当該命令データに含まれた識別情報を除いた情報の少なくとも一部で構成される補足データとで構成される制御プログラムであればよく、さらに言えば、上述の命令データおよび補足データそれぞれが、CPU304が一回の処理で読み込むデータ長(例えば、8ビット)の整数倍であればよい。
<ROM制御領域の変形例>
Furthermore, the above-described EXESUB instruction is a conventional 3-byte instruction control program data (for example, CALL instruction) composed of 1-byte instruction data and 2-byte supplement data, and 1-byte instruction data and 1-byte supplement. Although the control program is compressed into control program data of 2-byte instructions composed of data, any control program that compresses the control program composed of instruction data and supplemental data may be used. In other words, the EXESUB instruction includes instruction data including a part of identification information (binary format) that can identify the start address of a subroutine to be called, and the identification information included in the instruction data is excluded from the identification information. The control program is composed of supplemental data composed of at least a part of information, and more specifically, each of the above-described instruction data and supplemental data has a data length (for example, read by the CPU 304 in one process). It may be an integer multiple of 8 bits).
<Modification of ROM control area>
図27は、ROM領域が、上述のEXESUB命令(EXESUBmn)によって呼び出すことができる領域(本実施形態では、0000H〜0FFFH)よりも、制御プログラムデータが記憶されているROM制御領域(本実施形態では、0000H〜11B8H)が広くなるように構成されている場合を示した図である。また、図28(a)および(b)は、EXESUB命令(EXESUBmn)によって呼び出すことができるサブルーチンの先頭アドレスの領域を拡張した場合の一例を示した図である。 FIG. 27 shows a ROM control area (in this embodiment) in which control program data is stored rather than an area (0000H to 0FFFH in this embodiment) in which the ROM area can be called by the above-described EXEBUS instruction (EXESUBmn). , 0000H to 11B8H) is a diagram showing a case where it is configured to be wide. FIGS. 28A and 28B are diagrams showing an example in which the area of the top address of a subroutine that can be called by the EXESUB instruction (EXESUBmn) is expanded.
例えば、図27に示すように、ROM制御領域(本実施形態では、0000H〜11B8H)が、EXESUB命令(EXESUBmn)で呼び出すことができるサブルーチンの先頭アドレスの領域(本実施形態では、0000H〜0FFFH)より広い場合、ROM制御領域は、EXESUB対象領域(本実施形態では、0000H〜0FFFH)と、EXESUB非対象領域(例えば、1000H〜11B8H)で構成されることとなる。 For example, as shown in FIG. 27, the ROM control area (0000H to 11B8H in this embodiment) is the area of the top address of a subroutine (0000H to 0FFFH in this embodiment) that can be called with the EXEBUS instruction (EXESUBmn). When the area is wider, the ROM control area is composed of an EXESUB target area (0000H to 0FFFH in the present embodiment) and an EXESUB non-target area (for example, 1000H to 11B8H).
この場合、EXESUB非対象領域に対応するアドレスを先頭アドレスに持つサブルーチンを呼び出す命令に上述のCALL命令を用いて補ったとしても、上述の通り、遊技の興趣を高めることを可能にしつつ、安定した遊技制御を実現することは可能である。 In this case, even if the above-mentioned CALL instruction is used to supplement the instruction for calling the subroutine having the address corresponding to the EXESUB non-target area with the above-mentioned CALL instruction, as described above, it is possible to improve the fun of the game while being stable. It is possible to realize game control.
しかし、図28に示すように、EXESUB命令(EXESUBmn)によって呼び出すことができるサブルーチンの先頭アドレスの領域を拡張することで、上述の効果をより高めることが可能になる。 However, as shown in FIG. 28, the above effect can be further enhanced by expanding the area of the top address of the subroutine that can be called by the EXESUB instruction (EXESUBmn).
具体的な手段としては、図28(a)および(b)に示すように、後述する可変値σを用いて、EXESUB命令(EXESUBmn)に要する記憶容量を維持しつつ、EXESUB命令(EXESUBmn)の命令データを拡張するものである。なお、以下は、同図に新たに追加した可変値σについて説明することとする。 As specific means, as shown in FIGS. 28A and 28B, a variable value σ, which will be described later, is used to maintain the storage capacity required for the EXESUB instruction (EXESUBmn) and to execute the EXEBUS instruction (EXESUBMn). The command data is expanded. In the following, the variable value σ newly added to the figure will be described.
可変値σは、EXESUB命令(後述のEXESUBm'n)を拡張するために用いられ、図28(a)に示すように、EXESUB命令(後述のEXESUBm'n)の命令データ(本実施形態では、8ビット)のビット6を構成する値であり、呼び出すサブルーチンの先頭アドレスを示すアドレスm'nのうちm'の値に応じて変化するものである。 The variable value σ is used to extend the EXESUB instruction (EXESUBm′n described later), and as shown in FIG. 28A, the instruction data of the EXESUB instruction (EXESUBm′n described later) (in this embodiment, 8 bits), which changes according to the value of m ′ of the address m′n indicating the start address of the subroutine to be called.
また、命令データテーブルには、図28(b)に示すように、可変値σによって拡張されたEXESUB命令(EXESUBm'n)が、同図(b)に示す太線で囲った領域、すなわち、上位ビット5H(0101B)と下位ビット8H(1000B)および9H(1001B)の組合せからなる空き領域に割り当てられている。 In the instruction data table, as shown in FIG. 28 (b), the EXESUB instruction (EXESUBm'n) expanded by the variable value σ is an area surrounded by a bold line shown in FIG. It is allocated to an empty area consisting of a combination of bit 5H (0101B) and lower bits 8H (1000B) and 9H (1001B).
ここで、m'は、図22(a)で示したmと同一の役割を持つデータであるが、上述のmがビット5のα、ビット2のβ、ビット1のγおよびビット0のδの合計4ビットのデータであったのに対して、m'はビット6のσ、ビット5のα、ビット2のβ、ビット1のγおよびビット0のδの合計5ビットのデータである点が異なり、m'は、00H〜11Hの数値範囲を表現可能なデータであり、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報(バイナリ形式)の一部である。 Here, m ′ is data having the same role as m shown in FIG. 22A, where m is α of bit 5, β of bit 2, γ of bit 1, and δ of bit 0. In this case, m ′ is a total of 5 bits of data of σ of bit 6, α of bit 5, β of bit 2, γ of bit 1 and δ of bit 0. However, m ′ is data that can express a numerical range of 00H to 11H, and is a part of identification information (binary format) that can identify the head address of a subroutine to be called.
このように、上述のEXESUB命令(EXESUBmn)の命令データのビット6に可変値σを設けたEXESUB命令(EXESUBm'n)を用いて、アドレスmnによって定義可能なアドレス領域(000H〜FFF)を拡張(アドレスm'nによって定義可能なアドレス領域を0000H〜11FFHに)することで、上述のEXESUB非対象領域に対応するアドレスを先頭アドレスに持つサブルーチンをEXESUB命令(EXESUBm'n)を用いて呼び出すことができる。 As described above, the address area (000H to FFF) definable by the address mn is expanded using the EXESUB instruction (EXESUBm'n) in which the variable value σ is provided in the bit 6 of the instruction data of the above EXEBUS instruction (EXESUBmn). (By making the address area definable by the address m′n into 0000H to 11FFH), the subroutine having the address corresponding to the above-mentioned EXESUB non-target area at the top address is called using the EXESUB instruction (EXESUBm′n) Can do.
なお、上述の可変値σ、α、β、γおよびδとEXESUB命令(EXESUBm'n)の命令データのビット7〜0の対応関係は上述の対応関係に限らず、例えば、ビット5に可変値σを対応させ、同様に、ビット4に可変値α、ビット2に可変値β、ビット1に可変地γ、ビット0に可変値δを対応させてもよく、図22を用いて説明した対応関係と同じであればよい。 The correspondence relationship between the above-described variable values σ, α, β, γ, and δ and the bits 7 to 0 of the instruction data of the EXESUB instruction (EXESUBm'n) is not limited to the above-described correspondence relationship. Similarly, the variable value α may correspond to the bit 4, the variable value β to the bit 2, the variable value γ to the bit 1, the variable value δ to the bit 0, and the variable value δ to the bit 0, and the correspondence described with reference to FIG. It may be the same as the relationship.
さらに、命令データを構成する可変値σ、α、β、γおよびδの順序は、任意の順序としてもよいが、上述の順序(上位ビットから順にσ、α、β、γ、δ)、すなわち、後述するアドレスm'nのm'を上位ビットからσ、α、β、γ、δの順に並べることで定義可能になる順序とすることで、EXESUB命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。 Furthermore, the order of the variable values σ, α, β, γ, and δ constituting the instruction data may be any order, but the above-described order (σ, α, β, γ, δ in order from the upper bit), that is, By setting m ′ of address m′n, which will be described later, in order that can be defined by arranging σ, α, β, γ, and δ from the upper bits in order, it is possible to easily check the machine language of the EXESUB instruction data. Coding mistakes can be suppressed.
このように、上述のROM制御領域(例えば、0000H〜11B8H)に対応させて上述のEXESUB命令(EXESUBm'n)の命令データを設けることで、ROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。 In this way, by providing the above-mentioned EXESUB instruction (EXESUBm'n) corresponding to the above-described ROM control area (for example, 0000H to 11B8H), the data is stored in the storage area of the ROM 306 corresponding to the ROM control area. The conventional control program data can be compressed.
さらに、上述のように、ROM領域は、上述のEXESUB命令(EXESUBm'n)によって呼び出すことができる領域(本実施形態では、0000H〜11FFH)よりも、制御プログラムデータが記憶されているROM制御領域を除いた領域(本実施形態で Further, as described above, the ROM area is a ROM control area in which control program data is stored rather than an area (0000H to 11FFH in this embodiment) that can be called by the above-described EXEBUS instruction (EXESUBm'n). The area excluding (in this embodiment
ところで、図17および図27で示したように、制限されたROM制御領域の中でも開発された遊技台ごとに設けられたROM制御領域が異なる場合があるが、このような遊技台それぞれに対して、上述のEXESUBmnまたはEXESUBm'nそれぞれを命令データとして備えているCPUを使い分けて開発を行うことは、開発工数およびコストの観点からも無駄であるとともに、コーディングミスの原因ともなり、安定した遊技制御の実現を困難にしてしまうこととなる。よって、図17で示したROM制御領域を持つ遊技台であっても、EXESUB命令にEXESUBm'nを用いた方が望ましい。 By the way, as shown in FIG. 17 and FIG. 27, the ROM control area provided for each developed game machine may be different among the limited ROM control areas. In addition, it is wasteful from the viewpoint of development man-hours and costs, and development of a stable game control that uses a CPU that includes each of the above-mentioned EXESUBmn or EXESUBmn'n as instruction data is unnecessary from the viewpoint of development man-hours and costs. It will be difficult to realize. Therefore, even in the gaming machine having the ROM control area shown in FIG. 17, it is desirable to use EXESUBm′n for the EXESUB instruction.
この場合であっても、EXESUBm'nによって呼び出すことができる領域(本実施形態では、0000H〜11FFH)よりも、制御プログラムデータが記憶されているROM制御領域(本実施形態では、0000H〜0BB1H)が狭くなるように構成されているため、少なくとも、上述のEXESUBm'nによって呼び出すことができる領域から、制御プログラムデータが記憶されているROM制御領域を除いた領域(本実施形態では、0BB1H〜11FFH)を、非使用領域で構成するとともに、非使用領域の後にROMデータ領域が続くように構成すればよい。
<特図状態更新処理、普図状態更新処理>
Even in this case, the ROM control area (0000H to 0BB1H in this embodiment) stores control program data rather than the area (0000H to 11FFH in this embodiment) that can be called by EXESUBm'n. Therefore, at least an area that can be called by the above-described EXESUBm'n, excluding a ROM control area in which control program data is stored (in this embodiment, 0BB1H to 11FFH) ) In the non-use area, and the ROM data area may follow the non-use area.
<Special drawing state update processing, general drawing state update processing>
次に、図29を用いて、上述の特図2状態更新処理(ステップS225)、特図1状態更新処理(ステップS227)、普図状態更新処理(ステップS221)の制御プログラムの一部について説明する。なお、同図(a)は特図2状態更新処理および特図1状態更新処理の制御プログラムの一部を抜き出したものであり、同図(b)は普図状態更新処理の制御プログラムの一部を抜き出したものである。 Next, a part of the control program for the above-described special figure 2 state update process (step S225), special figure 1 state update process (step S227), and general figure state update process (step S221) will be described with reference to FIG. To do. FIG. 8A shows a part of the control program for the special figure 2 state update process and the special figure 1 state update process, and FIG. The part is extracted.
例えば、同図(a)に示す特図状態更新処理では、まず最初に、「LD L,Low.vbTokuzuStatus」の命令を実行することによって、同図(d)においてvbTokuzuStatusとして定義されたアドレス(この例では、RAM308に設けた特図ステータス用記憶領域を示すアドレスであるF060H)の下位バイト(この例では、60H)をLレジスタに記憶する。 For example, in the special figure state update process shown in FIG. 6A, first, by executing the instruction “LD L, Low.vbTokuzuStatus”, the address defined as vbTokuzuStatus in FIG. In the example, the lower byte (60H in this example) of F060H which is an address indicating the special figure status storage area provided in the RAM 308 is stored in the L register.
続いて、「JP moReadMemory」の命令を実行することによって、同図(c)に示すmoReadMemory(メモリ読出し処理)に移動し、当該処理を実行する。このメモリ読み出し処理では、まず最初に「LD H,F0H」の命令を実行することによってHレジスタにF0Hを記憶した後、「LD A,(HL)」の命令を実行することによってHLレジスタで示されるアドレス(この例では、F060H)の内容(この例では、特図ステータス)をAレジスタに記憶する。続いて、「AND A」の命令を実行した後に、読み出し元の特図状態更新処理に戻る。なお、同図(b)に示す普図状態更新処理も共通のサブルーチンであるmoReadMemory(メモリ読出し処理)を利用することによって、RAM308の普図ステータス用記憶領域に記憶された普図ステータスの読みだしを行う、 Subsequently, by executing the instruction “JP moReadMemory”, the process moves to moReadMemory (memory reading process) shown in FIG. In this memory read processing, F0H is first stored in the H register by executing the instruction “LD H, F0H”, and then indicated by the HL register by executing the instruction “LD A, (HL)”. The content (in this example, F060H) of the address (in this example, F060H) is stored in the A register. Subsequently, after executing the instruction “AND A”, the process returns to the special figure state update process of the reading source. It should be noted that the common figure status update process shown in FIG. 6B also uses the common subroutine moReadMemory (memory read process) to read the common figure status stored in the common figure status storage area of the RAM 308. I do,
このように、同図(c)に示す従来のメモリ読出し処理を利用した場合には、「LD H,F0H」という命令により、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位(F0H)が解析され、不正行為を誘発するおそれがある。このため、本実施形態では、同図(c)に示す従来のメモリ読出し処理に替えて、同図(e)に示すメモリ読出し処理を採用する。 As described above, when the conventional memory reading process shown in FIG. 5C is used, an instruction “LD H, F0H” causes the upper address of the special figure status storage area or the general figure status storage area to be higher. (F0H) is analyzed, and there is a risk of causing fraud. For this reason, in the present embodiment, the memory read process shown in FIG. 5E is adopted instead of the conventional memory read process shown in FIG.
この本実施形態に係るメモリ読出し処理では、「LD A,T」の命令を実行することによって、Tレジスタの値をAレジスタに記憶するが、上述のように、Tレジスタには特定の値(F0H)が記憶されているため、AレジスタにはF0Hが記憶される。以降の処理は従来の処理と同様であるが、イミディエイト値を利用する代わりにTレジスタを利用しているため、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位(F0H)が解析されるおそれが少なく、不正行為を未然に防止できる場合がある。また、イミディエイト値を利用した場合には、例えば、F0HをF1Hと間違って入力するなど、コーディングミスの可能性が高くなるが、Tレジスタを利用すればコーディングミスを未然に防止できる場合がある。 In the memory read processing according to this embodiment, the value of the T register is stored in the A register by executing the instruction “LD A, T”. As described above, a specific value ( Since F0H) is stored, F0H is stored in the A register. The subsequent processing is the same as the conventional processing, but since the T register is used instead of using the immediate value, the upper address (F0H) of the address of the special status status storage area or the normal status storage area is In some cases, there is little risk of analysis and fraud can be prevented. Further, when the immediate value is used, the possibility of a coding error increases, for example, when F0H is mistakenly input as F1H. However, if the T register is used, the coding error may be prevented in advance.
図30は、図29(c)に示す従来のメモリ読出し処理の機械語と、図29(e)に示す本実施形態に係るメモリ読出し処理の機械語と、を比較した図である。従来のメモリ読出し処理における1行目の「LD H,F0H」命令をアセンブルした場合、機械語は「26F0H」となり「F0H」を含むため、従来のメモリ読出し処理では、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位(F0H)が解析されてしまうおそれがある。一方、本実施形態のメモリ読出し処理における1行目の「LD A,T」命令をアセンブルした場合、機械語は「ED01H」となり「F0H」を含まないため、本実施形態のメモリ読出し処理では、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位(F0H)が解析されるおそれが極めて低く、不正行為を未然に防止できる場合がある。
<特図1関連抽選処理>
FIG. 30 is a diagram comparing the machine language of the conventional memory reading process shown in FIG. 29C and the machine language of the memory reading process according to the present embodiment shown in FIG. When the “LD H, F0H” instruction on the first line in the conventional memory read processing is assembled, the machine language is “26F0H” and includes “F0H”. Therefore, in the conventional memory read processing, There is a risk that the upper address (F0H) of the address in the storage area for the normal status is analyzed. On the other hand, when the “LD A, T” instruction on the first line in the memory read processing of the present embodiment is assembled, the machine language is “ED01H” and does not include “F0H”. Therefore, in the memory read processing of the present embodiment, There is a very low possibility that the upper address (F0H) of the special figure status storage area and the general figure status storage area will be analyzed, and it may be possible to prevent fraud.
<Special drawing 1 related lottery processing>
次に、図31を用いて、上述の主制御部タイマ割込処理における特図1関連抽選処理について説明する。なお、同図は、特図1関連抽選処理の流れを示すフローチャートである。 Next, the special figure 1 related lottery process in the above-mentioned main control part timer interruption process is demonstrated using FIG. In addition, the figure is a flowchart which shows the flow of a special figure 1 related lottery process.
ステップS1001では、特別図柄乱数移行処理を行う。この特別図柄乱数移行処理では、一次記憶した乱数値を、RAM308に設けた特別図柄関連抽選乱数の格納領域に移行(記憶)する。ステップS1002では、特別図柄当り抽選処理を行う。この特別図柄当り抽選処理では、上述の特図乱数値(特図1乱数値、特図2乱数値)と、ROM306に予め記憶している特別図柄抽選データを比較する抽選を行い、当該抽選結果に応じて、上述の15R大当りフラグ、2R大当たりフラグ、第1小当たりフラグ、第2小当たりフラグ、第1はずれフラグ、第2はずれフラグ、特図確率変動フラグ、および普図確率変動フラグなどを設定し、特別図柄遊技状態を変動中に設定する。 In step S1001, special symbol random number transfer processing is performed. In this special symbol random number transfer process, the random value stored in the primary is transferred (stored) to the special symbol related lottery random number storage area provided in the RAM 308. In step S1002, a special symbol per lottery process is performed. In the lottery processing per special symbol, the above-mentioned special symbol random value (the special symbol 1 random value, the special symbol 2 random value) is compared with the special symbol lottery data stored in the ROM 306 in advance, and the lottery result The 15R big hit flag, the 2R big hit flag, the first small hit flag, the second small hit flag, the first off flag, the second off flag, the special figure probability fluctuation flag, the normal figure probability fluctuation flag, etc. Set and set the special symbol gaming state while fluctuating.
ステップS1003では、表示図柄抽選処理を行う。この表示図柄抽選処理では、RAM308に記憶している表示図柄判定乱数と、ROM306に予め記憶している表示図柄抽選データを比較する抽選を行い、当該抽選結果に応じて、15R特別大当たり図柄(特図A)、15R大当たり図柄(特図B)、突然確変図柄(特図C)、突然時短図柄(特図D)、隠れ確変図柄(特図E)、突然通常図柄(特図F)、第1小当たり図柄(特図G)、第2小当たり図柄(特図H)、第1はずれ図柄(特図I)、および第2はずれ図柄(特図J)のいずれか一つの図柄を設定する。 In step S1003, a display symbol lottery process is performed. In this display symbol lottery process, a lottery for comparing the display symbol determination random number stored in the RAM 308 with the display symbol lottery data stored in advance in the ROM 306 is performed, and according to the lottery result, the 15R special jackpot symbol (special Figure A), 15R jackpot symbol (Special Figure B), Sudden Probability Variation (Special Figure C), Sudden Short-Time Design (Special Figure D), Hidden Probability Variation (Special Figure E), Sudden Normal Design (Special Figure F), No. One small symbol (Special G), second small symbol (Special H), first off symbol (Special I), and second off symbol (Special J) are set. .
ステップS1004では、特別図柄変動時間抽選処理を行う(詳細は後述する)。ステップS1005では、特別図柄変動時間設定処理を行う。この特別図柄変動時間設定処理では、上記ステップS1004の特別図柄変動時間抽選処理で取得した変動パターン(パターン番号)に応じたタイマを特別図柄変動タイマとして設定(記憶)する。ステップS1006では、特別図柄保留内情報移行処理を行う。この特別図柄保留内情報移行処理では、特別図柄保留内情報を変動順が先の格納領域に移行(記憶)した後に処理を終了する。 In step S1004, a special symbol variation time lottery process is performed (details will be described later). In step S1005, a special symbol variation time setting process is performed. In this special symbol variation time setting process, a timer corresponding to the variation pattern (pattern number) acquired in the special symbol variation time lottery process in step S1004 is set (stored) as a special symbol variation timer. In step S1006, special symbol on-hold information migration processing is performed. In this special symbol hold information transfer process, the special symbol hold information is transferred (stored) to the previous storage area in the order of change, and then the process ends.
なお、ここでは一例として、上述の主制御部タイマ割込処理における特図1関連抽選処理(ステップS231)について説明したが、例えば、特図2関連抽選処理(ステップS229)や普図関連抽選処理(ステップS223)についても同様の処理を適用することができる。
<主制御部のデータテーブルと変数記憶領域>
Here, as an example, the special figure 1 related lottery process (step S231) in the above-described main control unit timer interrupt process has been described. For example, the special figure 2 related lottery process (step S229) and the common figure related lottery process Similar processing can be applied to (step S223).
<Data table and variable storage area of main controller>
次に、図32および図33を用いて、主制御部300のROM306に記憶されるデータテーブルの一部と、RAM308に設けられる変数記憶領域の一部について説明する。
<テーブル選択用テーブル>
Next, a part of the data table stored in the ROM 306 of the main control unit 300 and a part of the variable storage area provided in the RAM 308 will be described with reference to FIGS. 32 and 33.
<Table selection table>
図32(a)は、テーブル選択用テーブルの一例を示した図であり、図33は、主制御部300のROM306に記憶されるデータテーブルの定義の一部と、RAM308に設けられる変数格納領域の定義の一部を示したプログラムリストの一例である。 FIG. 32A shows an example of the table selection table. FIG. 33 shows a part of the definition of the data table stored in the ROM 306 of the main control unit 300 and the variable storage area provided in the RAM 308. It is an example of the program list which showed a part of definition of.
図32(a)に示すテーブル選択用テーブルには、後述する第1変動パターン選択テーブルが記憶されるROM306のアドレスを示す飛先アドレスが、特図変動遊技の保留数毎に0個用〜3個用の4つに区分けされて記憶されている。具体的には、ROMデータ領域のアドレス1600H〜1601Hに対応するROM306の2バイトの記憶領域には、保留数が0の場合に参照する第1変動パターン選択テーブルの飛先アドレスとして174FHが記憶されている(1600 DEFB 174FH)。また、ROMデータ領域のアドレス1602H〜1603Hに対応するROM306の2バイトの記憶領域には、保留数が1の場合に参照する第1変動パターン選択テーブルの飛先アドレスとして174FHが記憶されている(1602 DEFB 174FH)。また、ROMデータ領域のアドレス1604H〜1605Hに対応するROM306の2バイトの記憶領域には、保留数が2の場合に参照する第1変動パターン選択テーブルの飛先アドレスとして174FHが記憶されている(1604 DEFB 174FH)。また、ROMデータ領域のアドレス1606H〜1607Hに対応するROM306の2バイトの記憶領域には、保留数が3の場合に参照する第1変動パターン選択テーブルの飛先アドレスとして1755Hが記憶されている(1606 DEFB 1755H)。
<第1変動パターン選択テーブル>
In the table selection table shown in FIG. 32 (a), the destination address indicating the address of the ROM 306 in which the first variation pattern selection table (to be described later) is stored is 0 for each number of special figure variation games held. It is divided and stored in four for individual use. Specifically, 174FH is stored in the 2-byte storage area of the ROM 306 corresponding to the addresses 1600H to 1601H of the ROM data area as the destination address of the first variation pattern selection table to be referred to when the number of holds is 0. (1600 DEFB 174FH). In addition, 174FH is stored in the 2-byte storage area of the ROM 306 corresponding to the addresses 1602H to 1603H of the ROM data area as the destination address of the first variation pattern selection table to be referred to when the number of holds is 1 ( 1602 DEFB 174FH). Further, 174FH is stored in the 2-byte storage area of the ROM 306 corresponding to the addresses 1604H to 1605H of the ROM data area as the destination address of the first variation pattern selection table to be referred to when the number of holds is 2 ( 1604 DEFB 174FH). In addition, 1755H is stored in the 2-byte storage area of the ROM 306 corresponding to the addresses 1606H to 1607H of the ROM data area as the destination address of the first variation pattern selection table to be referred to when the number of holds is 3 ( 1606 DEFB 1755H).
<First variation pattern selection table>
図32(b)は、第1変動パターン選択テーブルの一例を示した図である。この第1変動パターン選択テーブルには、当該テーブルのアドレスと、後述する第2変動パターン選択テーブルが記憶されたアドレスとの差(オフセット)と、乱数の個数が記憶されている。具体的には、ROMデータ領域のアドレス1750Hに対応するROM306の1バイトの記憶領域には、オフセットとしてAEHが記憶されているとともに、このアドレスに連続する1751Hに対応するROM306の1バイトの記憶領域には、乱数の個数として20が記憶され(1750H DEFB AEH,20)、以降のROMデータ領域のアドレス1752H〜1759Hに対応するROM306の記憶領域には、図32(b)および図33に示すように、1バイト長のオフセットと、1バイト長の乱数の個数が交互に連続して記憶されている。なお、第1変動パターン選択テーブルにおいて乱数の個数は10進数で示している。
<第2変動パターン選択テーブル>
FIG. 32B is a diagram showing an example of the first variation pattern selection table. This first variation pattern selection table stores the difference (offset) between the address of the table and the address where the second variation pattern selection table described later is stored, and the number of random numbers. Specifically, AEH is stored as an offset in the 1-byte storage area of the ROM 306 corresponding to the address 1750H of the ROM data area, and the 1-byte storage area of the ROM 306 corresponding to 1751H that is continuous with this address. 32 stores 20 as the number of random numbers (1750H DEFB AEH, 20), and the storage area of the ROM 306 corresponding to the addresses 1752H to 1759H of the subsequent ROM data area is as shown in FIGS. 32 (b) and 33. In addition, an offset of 1 byte length and the number of random numbers of 1 byte length are alternately and continuously stored. In the first variation pattern selection table, the number of random numbers is indicated by a decimal number.
<Second variation pattern selection table>
図32(c)は、第2変動パターン選択テーブルの一例を示した図である。この第2変動パターン選択テーブルには、パターン番号と、乱数の個数が記憶されている。具体的には、ROMデータ領域のアドレス1800Hに対応するROM306の1バイトの記憶領域には、パターン番号として01Hが記憶されているとともに、このアドレスに連続する1801Hで示される1バイトの領域には、乱数の個数として255が記憶され(1800H DEFB 01H,255)、以降のROMデータ領域のアドレス1802H〜180FHに対応するROM306の記憶領域には、図32(c)および図33に示すように、1バイト長のパターン番号と、1バイト長の乱数の個数が交互に連続して記憶されている。なお、第2変動パターン選択テーブルにおいて乱数の個数は10進数で示している。
<変数記憶領域>
FIG. 32C is a diagram showing an example of the second variation pattern selection table. The second variation pattern selection table stores a pattern number and the number of random numbers. Specifically, 01H is stored as a pattern number in the 1-byte storage area of the ROM 306 corresponding to the address 1800H in the ROM data area, and the 1-byte area indicated by 1801H that is continuous with this address is stored in the 1-byte area. , 255 is stored as the number of random numbers (1800H DEFB 01H, 255), and the storage area of the ROM 306 corresponding to the addresses 1802H to 180FH of the subsequent ROM data area is as shown in FIG. 32 (c) and FIG. A pattern number of 1 byte length and the number of random numbers of 1 byte length are stored alternately and continuously. In the second variation pattern selection table, the number of random numbers is indicated by a decimal number.
<Variable storage area>
図32(d)は、RWM領域のアドレスF040H〜F042Hに対応するRAM308の記憶領域に設けられる保留数記憶領域、乱数1記憶領域、乱数2記憶領域を示した図である。RWM領域のアドレスF040Hに対応するRAM308の1バイトの記憶領域には保留数記憶領域が設けられ(F040 vbHoryuuSP1 DEFS 1)、この保留数記憶領域には保留数が記憶される。また、アドレスF041Hに対応するRAM308の1バイトの記憶領域には乱数1記憶領域が設けられ(F041 vbRndHendou1 DEFS 1)、この乱数1記憶領域には乱数1が記憶される。また、アドレスF042Hに対応するRAM308の1バイトの記憶領域には乱数2記憶領域が設けられ(F042 vbRndHendou2 DEFS 1)、この乱数2記憶領域には乱数2が記憶される。
<特別図柄変動時間抽選処理>
FIG. 32D is a diagram showing a reserved number storage area, a random number 1 storage area, and a random number 2 storage area provided in the storage area of the RAM 308 corresponding to the addresses F040H to F042H of the RWM area. A 1-byte storage area of the RAM 308 corresponding to the RWM area address F040H has a reserved number storage area (F040 vbHoryuuSP1 DEFS 1), and the reserved number storage area stores the reserved number. A random number 1 storage area is provided in the 1-byte storage area of the RAM 308 corresponding to the address F041H (F041 vbRndHendou1 DEFS 1), and the random number 1 is stored in the random number 1 storage area. A random number 2 storage area is provided in the 1-byte storage area of the RAM 308 corresponding to the address F042H (F042 vbRndHendou2 DEFS 1), and the random number 2 is stored in the random number 2 storage area.
<Special symbol variation time lottery processing>
次に、図34および図35を用いて、上述の特図1関連抽選処理における特別図柄変動時間抽選処理について説明する。なお、図34は、特別図柄変動時間抽選処理の流れを示すフローチャートであり、図35は、特別図柄変動時間抽選処理のプログラムリストの一例である。 Next, the special symbol variation time lottery process in the special figure 1 related lottery process described above will be described with reference to FIGS. 34 and 35. FIG. 34 is a flowchart showing the flow of the special symbol variation time lottery process, and FIG. 35 is an example of a program list of the special symbol variation time lottery process.
ステップS1101では、演出用乱数取得処理を行う。この演出用乱数取得処理では、上述の特図1関連抽選処理で取得した特図1乱数値(0〜255)を、上述の乱数値1記憶領域(RWM領域のアドレスF041H)に記憶し、上述の特図2関連抽選処理で取得した特図2乱数値(0〜255)を、上述の乱数値2記憶領域(RWM領域のアドレスF042H)に記憶する。 In step S1101, effect random number acquisition processing is performed. In this effect random number acquisition process, the special figure 1 random value (0 to 255) acquired in the special figure 1 related lottery process is stored in the random value 1 storage area (RWM area address F041H). The special figure 2 random value (0 to 255) acquired in the special figure 2 related lottery process is stored in the random value 2 storage area (address F042H of the RWM area).
次のステップS1102では、上述のテーブル選択用テーブル(図32(a))の先頭アドレス(本実施形態では、1600H)を、HLレジスタに転送する(LD HL,tableSelectTable)。これにより、HLレジスタに1600Hが記憶される。 In the next step S1102, the start address (1600H in this embodiment) of the table selection table (FIG. 32A) is transferred to the HL register (LD HL, tableSelectTable). As a result, 1600H is stored in the HL register.
次のステップS1103では、上述の保留数記憶領域(RWM領域のアドレスF040H)に記憶された保留数を、Aレジスタに転送する(LDT A,(40H))。ここで、「LDT A、(n:イミディエイト値)」命令は、図36に示すように、Tレジスタを上位、イミディエイト値を下位で示すアドレスのデータをAレジスタにロードする命令である。本実施形態では、TレジスタにF0Hを記憶しているため、「LDT A,(40H)」命令を実行した場合、Tレジスタ(F0H)を上位、イミディエイト値(40H)を下位で示すアドレス(F040H)のデータ、すなわち保留数記憶領域に記憶された保留数がAレジスタにロード(転送)される。例えば、保留数記憶領域に記憶された保留数が2の場合には、Aレジスタに02Hがロード(転送)される。 In the next step S1103, the number of reservations stored in the above-described reservation number storage area (RWM area address F040H) is transferred to the A register (LDT A, (40H)). Here, as shown in FIG. 36, the “LDT A, (n: immediate value)” instruction is an instruction for loading data at an address indicating the T register in the upper order and the immediate value in the lower order into the A register. In this embodiment, since F0H is stored in the T register, when the “LDT A, (40H)” instruction is executed, an address (F040H) indicating the T register (F0H) as the higher order and the immediate value (40H) as the lower order. ), That is, the number of holds stored in the hold number storage area is loaded (transferred) to the A register. For example, when the hold number stored in the hold number storage area is 2, 02H is loaded (transferred) to the A register.
次のステップS1104では、Aレジスタの値にAレジスタの値を加算する(ADD A,A)。先の例では、Aレジスタの値(02H)にAレジスタの値(02H)を加算することによってAレジスタに04Hが記憶される。次のステップS1105では、HLレジスタにAレジスタの値を加算する(ADDTWOONE HL,A)。詳細は後述するが、ADDTWOONE命令(ADDTWOONE HL,A)は、HLレジスタに記憶された2バイト長の値に、Aレジスタに記憶された1バイト長の値を加算するための命令である。先の例では、HLレジスタ(1600H)にAレジスタの値(04H)を加算することによってHLレジスタに1604Hが記憶される。 In the next step S1104, the value of the A register is added to the value of the A register (ADD A, A). In the above example, 04H is stored in the A register by adding the value (02H) of the A register to the value (02H) of the A register. In the next step S1105, the value of the A register is added to the HL register (ADDTWOONE HL, A). Although details will be described later, the ADDTWOONE instruction (ADDTWOONE HL, A) is an instruction for adding the 1-byte length value stored in the A register to the 2-byte length value stored in the HL register. In the previous example, 1604H is stored in the HL register by adding the value (04H) of the A register to the HL register (1600H).
次のステップS1106では、HLレジスタが示すアドレスの値をDEレジスタに転送する(LDTWO DE,(HL))。ここで、「LDTWO DE,(HL)」命令は、図36に示すように、HLレジスタが示すアドレスのデータをDEレジスタにロードする命令である。先の例では、HLレジスタが示すアドレス(1604H)の値(174FH)をDEレジスタに転送することによってDEレジスタには174FHが記憶される。 In the next step S1106, the value of the address indicated by the HL register is transferred to the DE register (LDTWO DE, (HL)). Here, as shown in FIG. 36, the “LDTWO DE, (HL)” instruction is an instruction for loading data at the address indicated by the HL register into the DE register. In the above example, 174FH is stored in the DE register by transferring the value (174FH) of the address (1604H) indicated by the HL register to the DE register.
次のステップS1107では、DEレジスタの値とHLレジスタの値を交換する(EX DE,HL)。先の例では、DEレジスタの値(174FH)とHLレジスタの値(1604H)を交換することによって、HLレジスタには174FHが記憶され、DEレジスタには1604Hが記憶される。 In the next step S1107, the value of the DE register and the value of the HL register are exchanged (EX DE, HL). In the above example, 174FH is stored in the HL register and 1604H is stored in the DE register by exchanging the value (174FH) of the DE register with the value (1604H) of the HL register.
次のステップS1108では、上述の乱数1記憶領域に記憶された乱数1(特別図柄変動時間判定乱数1)をAレジスタに転送する(LDT A,(41H))。本実施形態では、TレジスタにF0Hを記憶しているため、「LDT A,(41H)」命令を実行した場合、Tレジスタ(F0H)を上位、イミディエイト値(41H)を下位で示すアドレス(7E41H)のデータ、すなわち乱数1記憶領域に記憶された乱数1がAレジスタにロード(転送)される。例えば、乱数1記憶領域に記憶された乱数1が250の場合には、Aレジスタに250が記憶される。 In the next step S1108, the random number 1 (special symbol variation time determination random number 1) stored in the random number 1 storage area is transferred to the A register (LDT A, (41H)). In this embodiment, since F0H is stored in the T register, when the “LDT A, (41H)” instruction is executed, an address (7E41H) indicating the T register (F0H) as the higher order and the immediate value (41H) as the lower order. ), That is, random number 1 stored in the random number 1 storage area is loaded (transferred) to the A register. For example, when the random number 1 stored in the random number 1 storage area is 250, 250 is stored in the A register.
次のステップS1109では、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をBCレジスタに転送する(INCTENSOU BC,(HL))。詳細は後述するが、「INCTENSOU BC,(HL)」命令は、HLレジスタに記憶された2バイト長の値に1を加算し、加算後のHLレジスタの値で示されるアドレスに記憶された1バイト長の値を、BCレジスタのうちの下位のCレジスタに記憶した後に、HLレジスタに記憶された2バイト長の値にさらに1を加算し、加算後のHLレジスタの値で示されるアドレスに記憶された1バイト長の値を、BCレジスタのうちの上位のBレジスタに記憶するための命令である。先の例では、HLレジスタに記憶された2バイト長の値(174FH)に1を加算し、加算後のHLレジスタの値(1750H)で示されるアドレスに記憶された1バイト長の値(AEH)を、BCレジスタのうちの下位のCレジスタに記憶した後に、HLレジスタに記憶された2バイト長の値にさらに1を加算し、加算後のHLレジスタの値(1751H)で示されるアドレスに記憶された1バイト長の値(20)を、BCレジスタのうちの上位のBレジスタに記憶する。 In the next step S1109, the values stored at the next two consecutive addresses after the address indicated by the value of the HL register are transferred to the BC register (INCTENSOU BC, (HL)). As will be described in detail later, the “INCTENSOU BC, (HL)” instruction adds 1 to the 2-byte length value stored in the HL register, and 1 stored in the address indicated by the value of the HL register after the addition. After the byte length value is stored in the lower C register of the BC register, 1 is further added to the 2-byte length value stored in the HL register, and the address indicated by the value of the HL register after the addition is added. This is an instruction for storing the stored 1-byte value in the upper B register of the BC registers. In the above example, 1 is added to the 2-byte length value (174FH) stored in the HL register, and the 1-byte length value (AEH) stored at the address indicated by the HL register value (1750H) after the addition. ) Is stored in the lower C register of the BC register, 1 is further added to the 2-byte length value stored in the HL register, and the address indicated by the value (1751H) of the HL register after the addition is added. The stored 1-byte value (20) is stored in the upper B register of the BC registers.
次のステップS1110では、Aレジスタの値からBレジスタの値を減算する(SUB B)。先の例では、Aレジスタの値(250)からBレジスタの値(20)を減算する。次のステップS1111では、ステップS1110の減算の結果、キャリーが発生したか否か、すなわち減算の結果が負の値になったかどうかを判定し、該当する場合にはステップS1112に進み、該当しない場合には該当するまでステップS1109〜S1111の処理を繰り返し実行する(JP NC,LOOP01)。先の例では、ステップS1109〜S1111の処理を3回繰り返すことによってキャリーが発生し、ステップS1112に進む際には、Bレジスタの値が8、Cレジスタ値がB0H、HLレジスタの値が1755Hになる。 In the next step S1110, the value of the B register is subtracted from the value of the A register (SUB B). In the above example, the value (20) of the B register is subtracted from the value (250) of the A register. In the next step S1111, it is determined whether or not a carry has occurred as a result of the subtraction in step S1110, that is, whether or not the result of the subtraction has become a negative value. If applicable, the process proceeds to step S1112. Are repeatedly executed until the condition is satisfied (JP NC, LOOP01). In the previous example, a carry is generated by repeating the processing of steps S1109 to S1111 three times, and when proceeding to step S1112, the value of the B register is 8, the value of the C register is B0H, and the value of the HL register is 1755H. Become.
次のステップS1112では、HLレジスタの値にCレジスタの値を加算する(ADDTWOONE)。先の例では、HLレジスタの値(1755H)にCレジスタの値(B0H)を加算することによってHLレジスタには1805Hが記憶される。次のステップS1113では、上述の乱数2記憶領域(本実施形態では、F042H)に記憶された乱数2(特別図柄変動時間判定乱数2)をAレジスタに転送する(LDT A,(42H))。本実施形態では、TレジスタにF0Hを記憶しているため、「LDT A,(42H)」命令を実行した場合、Tレジスタ(F0H)を上位、イミディエイト値(42H)を下位で示すアドレス(7E42H)のデータ、すなわち乱数2記憶領域に記憶された乱数2がAレジスタにロード(転送)される。例えば、乱数2が148の場合には、Aレジスタに148が記憶される。 In the next step S1112, the value of the C register is added to the value of the HL register (ADDTWOONE). In the above example, 1805H is stored in the HL register by adding the value (B0H) of the C register to the value (1755H) of the HL register. In the next step S1113, the random number 2 (special symbol variation time determination random number 2) stored in the random number 2 storage area (F042H in the present embodiment) is transferred to the A register (LDT A, (42H)). In this embodiment, since F0H is stored in the T register, when the “LDT A, (42H)” instruction is executed, an address (7E42H) indicating the T register (F0H) as the higher order and the immediate value (42H) as the lower order. ), That is, random number 2 stored in the random number 2 storage area is loaded (transferred) to the A register. For example, when the random number 2 is 148, 148 is stored in the A register.
次のステップS1114では、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をBCレジスタに転送する(INCTENSOU BC,(HL))。先の例では、HLレジスタに記憶された2バイト長の値(1805H)に1を加算し、加算後のHLレジスタの値(1806H)で示されるアドレスに記憶された1バイト長の値(04H)を、BCレジスタのうちの下位のCレジスタに記憶した後に、HLレジスタに記憶された2バイト長の値にさらに1を加算し、加算後のHLレジスタの値(1807H)で示されるアドレスに記憶された1バイト長の値(128)を、BCレジスタのうちの上位のBレジスタに記憶する。 In the next step S1114, the values stored in the next two consecutive addresses after the address indicated by the value of the HL register are transferred to the BC register (INCTENSOU BC, (HL)). In the previous example, 1 is added to the 2-byte length value (1805H) stored in the HL register, and the 1-byte length value (04H) stored at the address indicated by the HL register value (1806H) after the addition. ) Is stored in the lower C register of the BC register, 1 is further added to the 2-byte length value stored in the HL register, and the address indicated by the value (1807H) of the HL register after the addition is added. The stored 1-byte value (128) is stored in the upper B register of the BC registers.
次のステップS1115では、Aレジスタの値からBレジスタの値を減算する(SUB B)。先の例では、Aレジスタの値(148)からBレジスタの値(128)を減算する。次のステップS1116では、ステップS1115の減算の結果、キャリーが発生したか否か、すなわち減算の結果が負の値になったかどうかを判定し、該当する場合にはステップS1117に進み、該当しない場合には該当するまでステップS1114〜S1116の処理を繰り返し実行する(JP NC,LOOP02)。先の例では、ステップS1114〜S1116の処理を2回繰り返すことによってキャリーが発生し、ステップS1117に進む際には、Bレジスタの値が32、Cレジスタの値が05H、HLレジスタの値が1809Hになる。ステップS1117では、その他の処理を行った後に処理を終了する。なお、ここでは一例として、特図1や特図2に関する処理について説明したが、例えば、普図の保留数や乱数値についても同様の処理を適用することができる。
<主制御部の特殊命令>
In the next step S1115, the value of the B register is subtracted from the value of the A register (SUB B). In the above example, the value (128) of the B register is subtracted from the value (148) of the A register. In the next step S1116, it is determined whether or not a carry has occurred as a result of the subtraction in step S1115, that is, whether or not the result of the subtraction has become a negative value. If so, the process proceeds to step S1117. The processing of steps S1114 to S1116 is repeatedly executed until it corresponds (JP NC, LOOP02). In the previous example, a carry is generated by repeating the processing of steps S1114 to S1116 twice, and when proceeding to step S1117, the value of the B register is 32, the value of the C register is 05H, and the value of the HL register is 1809H. become. In step S1117, the process ends after other processes are performed. Here, as an example, the processing related to special figure 1 and special figure 2 has been described, but the same processing can be applied to, for example, the number of pending reservations and random values.
<Special instruction of main control unit>
次に、図36および図37を用いて、主制御部300が備える特殊命令について説明する。なお、図36は、主制御部300が備える命令の一部と、その説明を示した図である。また、図37(a)は、主制御部300の命令データの上位ビットと下位ビットを示した図であり、同図(b)は、命令データテーブルの一例を示した図である。
<特殊命令/LDT命令>
Next, a special command provided in the main control unit 300 will be described with reference to FIGS. FIG. 36 is a diagram illustrating a part of the commands included in the main control unit 300 and a description thereof. FIG. 37 (a) is a diagram showing the upper and lower bits of the instruction data of the main control unit 300, and FIG. 37 (b) is a diagram showing an example of the instruction data table.
<Special instruction / LDT instruction>
特殊命令の一つである「LDT A、(n:イミディエイト値)」命令は、上述のとおり、Tレジスタを上位、イミディエイト値を下位で示すアドレスのデータをAレジスタにロードする命令であり、例えば、上述の特別図柄変動時間抽選処理のステップS1103では、「LDT A、(40H)」命令を実行することによって、Tレジスタ(F0H)を上位、イミディエイト値(40H)を下位で示すアドレス(F040H)のデータ、すなわち保留数記憶領域に記憶された保留数をAレジスタにロード(転送)している。 The “LDT A, (n: immediate value)” instruction, which is one of the special instructions, is an instruction for loading data at an address indicating the T register in the higher order and the immediate value in the lower order as described above. In step S1103 of the special symbol variation time lottery process described above, by executing the “LDT A, (40H)” instruction, the address (F040H) indicating the T register (F0H) as the higher order and the immediate value (40H) as the lower order. Data, that is, the hold count stored in the hold count storage area is loaded (transferred) to the A register.
また、図示はしないが、主制御部300は、さらに、Aレジスタに記憶されたデータを、Tレジスタを上位、イミディエイト値を下位で示すアドレスにロードするための「LDT (n:イミディエイト値),A」命令を備えている。一方、Tレジスタを上位、汎用レジスタ(例えば、Hレジスタ)を下位で示すアドレスのデータをAレジスタにロードする命令(例えば、「LDT A,H」のような命令)や、Aレジスタに記憶されたデータを、Tレジスタを上位、汎用レジスタ(例えば、Hレジスタ)を下位で示すアドレスにロードするための命令(例えば、「LDT H,A」のような命令)は備えていない。 Although not shown, the main control unit 300 further uses “LDT (n: immediate value),” for loading the data stored in the A register into an address indicating the T register as the upper and the immediate value as the lower. A "instruction. On the other hand, an instruction (for example, an instruction such as “LDT A, H”) for loading data at an address indicating the T register as a higher order and a general-purpose register (for example, an H register) as a lower order is stored in the A register. An instruction (for example, an instruction such as “LDTH H, A”) for loading the data into an address indicating the T register as the higher order and the general-purpose register (for example, the H register) as the lower order is not provided.
すなわち、LDT命令によって指定可能なアドレスの下位バイトは、イミディエイト値に限定されており、汎用レジスタを指定することは禁止されている(機械語にアセンブルされる過程でエラーとなりアセンブルすることができない)。このため、LDT命令では、プログラムリストの確認などを行う際にアドレスの確認が容易となる上に、Tレジスタの値(アドレスの上位バイト)を不用意に変更することができなくなる結果、コーディングミスや不具合の発生を減少させることができる場合がある。
<特殊命令/LDTWO命令>
That is, the lower byte of the address that can be specified by the LDT instruction is limited to an immediate value, and it is prohibited to specify a general-purpose register (an error occurs during the assembly into the machine language and the assembly cannot be performed). . For this reason, the LDT instruction makes it easy to check the address when checking the program list and the like, and the value of the T register (the upper byte of the address) cannot be changed carelessly. And the occurrence of malfunctions may be reduced.
<Special instructions / LDTWO instructions>
特殊命令の一つである「LDTWO OP1,(OP2)」命令は、上述のとおり、第2オペランドOP2で示される2つのレジスタが示すアドレスのデータを第1オペランドOP1で示される2つのレジスタにロードする命令であり、「LDTWO (OP2),OP1」命令は、第2オペランドOP2で示される2つのレジスタが示すアドレスに第1オペランドOP1で示される2つのレジスタのデータをロードする命令であり、例えば、上述の特別図柄変動時間抽選処理のステップS1106では、「LDTWO DE,(HL)」命令を実行することによって、HLレジスタが示すアドレス(1604H)の値(174FH)をDEレジスタにロード(転送)してDEレジスタには174FHを記憶している。OP2がHLレジスタではないBCレジスタまたはDEレジスタである場合、OP1がBCレジスタ、DEレジスタ、HLレジスタ、IXレジスタ、IYレジスタとなり、OP2がHLレジスタである場合のみ、OP1がBCレジスタ、DEレジスタ、HLレジスタ、ACレジスタ、AEレジスタ、BDレジスタ、IXレジスタ、IYレジスタとなる。LDTWO命令は、AレジスタやHLレジスタを保護するのに適している。 As described above, the “LDTWO OP1, (OP2)” instruction, which is one of the special instructions, loads the data at the addresses indicated by the two registers indicated by the second operand OP2 into the two registers indicated by the first operand OP1. The “LDTWO (OP2), OP1” instruction is an instruction to load the data of the two registers indicated by the first operand OP1 to the address indicated by the two registers indicated by the second operand OP2, for example, In step S1106 of the special symbol variation time lottery process described above, by executing the “LDTWO DE, (HL)” instruction, the value (174FH) of the address (1604H) indicated by the HL register is loaded (transferred) to the DE register. Thus, 174FH is stored in the DE register. When OP2 is a BC register or DE register that is not an HL register, OP1 becomes a BC register, DE register, HL register, IX register, and IY register, and only when OP2 is an HL register, OP1 becomes a BC register, DE register, HL register, AC register, AE register, BD register, IX register, IY register. The LDTWO instruction is suitable for protecting the A register and the HL register.
また、LDTWO命令では、必要なステート数は14ステート、必要なバイト数は2バイトである。一方、従来の命令によってLDTWO命令と同様の処理を行う場合には、図36に示すように、必要なステート数は14ステート(=4+6+4)、必要なバイト数は3バイト(=1+1+1)である。したがって、HLレジスタが示すアドレスのデータをDEレジスタにロードする場合にLDTWO命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているROMの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。
<特殊命令/ADDTWOONE命令>
In the LDTWO instruction, the required number of states is 14 and the required number of bytes is 2 bytes. On the other hand, when the same processing as the LDTWO instruction is performed by the conventional instruction, as shown in FIG. 36, the required number of states is 14 (= 4 + 6 + 4) and the required number of bytes is 3 (= 1 + 1 + 1). . Therefore, if the LDTWO instruction is used when the address data indicated by the HL register is loaded into the DE register, the processing time of the control program can be shortened and the control burden can be reduced, and the amount of program code can be reduced. In some cases, the storage area of the ROM having a limited memory capacity can be used effectively. Further, even if the program code is increased in order to improve game play, an increase in program capacity and a decrease in processing speed may be suppressed. Also, by reducing the program capacity, it is possible to reduce developer coding errors and check mistakes, facilitate debugging, increase development efficiency, and whether or not it has an appropriate function as a game machine. Even when an external organization confirms, there may be a case where it is possible to provide a gaming table that can prevent mistakes in confirmation work and allow a player to play a game with peace of mind.
<Special instruction / ADDTWOONE instruction>
特殊命令の一つであるADDTWOONE命令(ADDTWOONE OP1,OP2)は、第1オペランドOP1で示される2つのレジスタに記憶された2バイト長の値に、第2オペランドOP2で示されるレジスタに記憶された1バイト長の値(または、第2オペランドOP2で示される1バイト長のイミディエイト値)を加算するための命令である。ADDTWOONE命令の命令コードの上位1バイトは固定値(この例ではEDH)とし、下位バイトは、命令データテーブルの上位ビット4H(0100B)と下位ビット0H(0000B)〜2H(0010B)の組合せと、命令データテーブルの上位ビット4H(0100B)と下位ビット4H(0100B)〜7H(0001B)、9H(1001H)の組合せに割り当てている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令(隠し命令)を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。なお、本実施形態では、特殊命令の命令コードを2バイト長としているが、命令コードのバイト長は特に限定されず、例えば1バイト長でもよい。また、ADDTWOONE命令のうちの特定の命令(例えば、「ADDTWOONE HL,A」命令)のみ、他のADDTWOONE命令よりも命令コードが短く(例えば、1バイト長)てもよい。また、「ADDTWOONE OP1,A」命令のうちの特定の命令(例えば、「ADDTWOONE HL,A」命令)のみ、他のADDTWOONE命令よりも命令コードが短く(例えば、1バイト長)てもよい。この場合、該命令の利便性を高めることができる。 The ADDTWOONE instruction (ADDTWONE OP1, OP2), which is one of the special instructions, is stored in the register indicated by the second operand OP2 into a 2-byte length value stored in the two registers indicated by the first operand OP1. This is an instruction for adding a 1-byte value (or a 1-byte immediate value indicated by the second operand OP2). The upper 1 byte of the instruction code of the ADDTWOONE instruction is a fixed value (EDH in this example), and the lower byte is a combination of the upper bit 4H (0100B) and the lower bits 0H (0000B) to 2H (0010B) of the instruction data table, It is assigned to a combination of the upper bit 4H (0100B) and the lower bits 4H (0100B) to 7H (0001B), 9H (1001H) of the instruction data table. In this way, by using an instruction area that has been considered as a free area in the past, it is possible to effectively use limited hardware resources and to embed an illegal instruction (hidden instruction) in the free area. In some cases, it is possible to prevent illegal acts and to ensure the fairness of the game. In this embodiment, the instruction code of the special instruction is 2 bytes long, but the byte length of the instruction code is not particularly limited, and may be 1 byte, for example. Further, only a specific instruction (for example, “ADDTWOONE HL, A” instruction) among the ADDTWOONE instructions may have a shorter instruction code (for example, 1 byte length) than other ADDTWOONE instructions. Further, only a specific instruction (for example, “ADDTWOONE HL, A” instruction) in the “ADDTWOONE OP1, A” instruction may have a shorter instruction code (for example, 1 byte length) than other ADDTWOONE instructions. In this case, the convenience of the command can be improved.
「ADDTWOONE HL,C」命令を例に挙げると、第1オペランドで示されるペアレジスタHLに記憶された2バイト長の値に、第2オペランドで示されるCレジスタに記憶された1バイト長の値を加算する場合に使用される命令であり、例えば、上述の特別図柄変動時間抽選処理のステップS1112では、「ADDTWOONE HL,C」を実行することによって、HLレジスタに記憶された2バイト長の値(1755H)に、Cレジスタに記憶された1バイト長の値(B0H)を加算することによって、HLレジスタの値を1805Hに更新している。なお、ADDTWOONE命令(ADDTWOONE OP1,OP2)は、キャリーが発生し難いが、HLレジスタに記憶された2バイト長の値(例えば、FF01H)にCレジスタに記憶された1バイト長の値(例えば、FFH)を加算する場合には、キャリーが発生する。すなわち、ADDTWOONE命令(ADDTWOONE OP1,OP2)を実行後にキャリーが発生する場合には、HレジスタがFFHであると判断することができる。 Taking the “ADDTWOONE HL, C” instruction as an example, a value of 1 byte length stored in the C register indicated by the second operand is added to a value of 2 bytes length stored in the pair register HL indicated by the first operand. For example, in step S1112 of the special symbol variation time lottery process described above, by executing “ADDTWOONE HL, C”, a 2-byte length value stored in the HL register The value of the HL register is updated to 1805H by adding the 1-byte length value (B0H) stored in the C register to (1755H). It should be noted that the ADDTWOONE instruction (ADDTWOONE OP1, OP2) is less likely to carry, but the 2-byte length value (for example, FF01H) stored in the HL register is a 1-byte length value (for example, FF01H). When adding (FFH), carry occurs. That is, when a carry occurs after execution of the ADDTWONE instruction (ADDTWOONE OP1, OP2), it can be determined that the H register is FFH.
また、「ADDTWOONE HL,C」命令では、必要なステート数は8ステート、必要なバイト数は2バイトである。一方、従来の命令によって「ADDTWOONE HL,C」命令と同様の処理を行う場合には、図36に示すように、必要なステート数は22ステート(=4+4+10+4)、必要なバイト数は6バイト(=1+1+3+1)である。したがって、HLレジスタに記憶された2バイト長の値にCレジスタに記憶された1バイト長の値を加算する場合に「ADDTWOONE HL,C」命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているROMの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。 Further, in the “ADDTWOONE HL, C” instruction, the required number of states is 8 and the required number of bytes is 2 bytes. On the other hand, when processing similar to that of the “ADDTWOONE HL, C” instruction is performed using a conventional instruction, as shown in FIG. 36, the required number of states is 22 (= 4 + 4 + 10 + 4), and the required number of bytes is 6 bytes ( = 1 + 1 + 3 + 1). Therefore, if the “ADDTWOONE HL, C” instruction is used to add the 1-byte length value stored in the C register to the 2-byte length value stored in the HL register, the processing time of the control program can be shortened. In addition, the control burden can be reduced and the amount of program code can be reduced, so that the storage area of the ROM having a limited memory capacity can be used effectively. Further, even if the program code is increased in order to improve game play, an increase in program capacity and a decrease in processing speed may be suppressed. Also, by reducing the program capacity, it is possible to reduce developer coding errors and check mistakes, facilitate debugging, increase development efficiency, and whether or not it has an appropriate function as a game machine. Even when an external organization confirms, there may be a case where it is possible to provide a gaming table that can prevent mistakes in confirmation work and allow a player to play a game with peace of mind.
また、従来CPUに実行可能に備えられている8ビット演算命令では、「ADD A,E」命令のように、加算結果(「SUB A,E」命令の場合は減算結果)をAレジスタに入れるしかなかったが、ADDTWOONE命令を実行して「ADDTWOONE HL,E」命令とすることで「ADD L,E」を可能にしており、Aレジスタを使用せずに温存することができる(使用用途が広いAレジスタを他の命令で使用することが可能となる結果、プログラム容量を削減できる場合がある)。また、「LD H,00H」命令を実行してHレジスタに00Hを転送した後に、「ADDTWOONE HL,E」命令を実行してLレジスタにEレジスタの値を加算して「SRL H」命令を実行してLレジスタが桁あふれしたかどうかをキャリーフラグが立ったか否かで確認することでAレジスタを使用せずに温存することができる(使用用途が広いAレジスタを他の命令で使用することが可能となる結果、プログラム容量を削減できる場合がある)。 Further, in the case of an 8-bit arithmetic instruction that is conventionally provided in the CPU, the addition result (subtraction result in the case of the “SUB A, E” instruction) is input to the A register as in the case of the “ADD A, E” instruction. However, by executing the ADDTWOONE instruction and changing it to the “ADDTWOONE HL, E” instruction, “ADD L, E” is enabled, and it can be preserved without using the A register. As a result of using a wide A register for other instructions, the program capacity may be reduced). In addition, after executing “LD H, 00H” instruction and transferring 00H to the H register, “ADDTWONE HL, E” instruction is executed, the value of the E register is added to the L register, and the “SRL H” instruction is issued. Executing and checking whether or not the L register has overflowed can be saved without using the A register by checking whether or not the carry flag is set (use the A register which is widely used for other instructions) As a result, the program capacity may be reduced).
すなわち、「ADD A,L」命令は実行可能であり、「ADD L,A」命令は実行不可能であるが、「ADDTWOONE HL,A」命令を実行可能にした命令セットを備えたことにより、命令セットにおける命令数を1つ増やすだけで、8ビット演算の加算結果を格納可能なレジスタを増やすことができるとともに、16ビット−8ビット演算も可能にしており、命令セットを1命令増やすだけで2つの機能を実現可能としている。 In other words, the “ADD A, L” instruction can be executed, the “ADD L, A” instruction cannot be executed, but the “ADDTWONE HL, A” instruction can be executed. By increasing the number of instructions in the instruction set by one, it is possible to increase the number of registers that can store the addition results of 8-bit operations and also enable 16-bit to 8-bit operations. Two functions can be realized.
換言すると、加算命令「特定のレジスタペア←特定のレジスタペア+特定のレジスタ」を命令セットに含むとともに、特定のレジスタペアの下位側のレジスタを8ビット演算のアキュムレータとは異なるレジスタとした。 In other words, the addition instruction “specific register pair ← specific register pair + specific register” is included in the instruction set, and the lower register of the specific register pair is different from the 8-bit arithmetic accumulator.
従来では、命令セットにおける命令数を増やしたくなかったため、16ビット演算と8ビット演算しか搭載せず、さらに16ビットのアキュムレータは複数のレジスタペアのうちの特定レジスタペアのみとし、8ビットのアキュムレータは複数のレジスタのうちの特定レジスタのみとしていたが、上記構成により、少ない命令数の増加で複数の機能を実現することができる。 Conventionally, since it was not desired to increase the number of instructions in the instruction set, only 16-bit arithmetic and 8-bit arithmetic are mounted. Further, the 16-bit accumulator is only a specific register pair among a plurality of register pairs, and the 8-bit accumulator is Although only a specific register among a plurality of registers is used, a plurality of functions can be realized with a small increase in the number of instructions.
また、HLレジスタが0か否かを確認するために従来では、「LD A,H」命令でHレジスタの値をAレジスタに転送した後に「OR A,L」命令を実行後に0フラグが立つか否かでHLレジスタが0か否かを確認していた。すなわち、8ビット演算を実行して0か否かを確認しているため、8ビット演算のアキュムレータ(この場合はAレジスタ)を使用してしまっていた。しかし、「ADDTWOONE HL,n(00H)」命令後に0フラグが立つか否かを確認することによってAレジスタを使用しないで済む。すなわち、「ADDTWOONE HL,n」命令は、16ビットレジスタペアに8ビットの直値を加算する機能と、16ビットレジスタペアが0か否かを確認する機能と、Aレジスタを温存する機能とを備えている。また、命令に直値を使用しているので、プログラムソースの可読性を向上できる。
<特殊命令/INCTENSOU命令>
Also, in order to check whether the HL register is 0, conventionally, after the value of the H register is transferred to the A register with the “LD A, H” instruction, the “OR A, L” instruction is executed and then the 0 flag is set. Whether or not the HL register is 0 is confirmed. That is, since an 8-bit operation is executed to check whether it is 0, an 8-bit operation accumulator (in this case, the A register) has been used. However, it is not necessary to use the A register by checking whether or not the 0 flag is set after the “ADDTWOONE HL, n (00H)” instruction. That is, the “ADDTWONE HL, n” instruction has a function of adding an 8-bit direct value to a 16-bit register pair, a function of checking whether the 16-bit register pair is 0, and a function of preserving the A register. I have. Further, since direct values are used for the instructions, the readability of the program source can be improved.
<Special instruction / INCENSOU instruction>
特殊命令の一つであるINCTENSOU命令(INCTENSOU OP1,OP2)は、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値に1を加算し、加算後の2つのレジスタの値で示されるアドレスに記憶された1バイト長の値を、第1オペランドOP1で示される2つのレジスタのうちの下位のレジスタに記憶した後に、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値にさらに1を加算し、加算後の2つのレジスタの値で示されるアドレスに記憶された1バイト長の値を、第1オペランドOP1で示される2つのレジスタのうちの上位のレジスタに記憶するための命令である。INCTENSOU命令の命令コードの上位1バイトは固定値(この例ではEDH)とし、下位バイトは、命令データテーブルの上位ビット1H(0001B)と下位ビット8H(1000B)〜9H(10001B)の組合せと、命令データテーブルの上位ビットDH(1101B)と下位ビット4H(0100B)〜6H(0110B)の組合せに割り当てている。本例では、第1オペランドOP1にアキュムレータを含む機械命令のコードを連番(例えば、「INCTENSOU AC,(HL)」命令のコードがEDD4H、「INCTENSOU AE,(HL)」のコードがEDD5H)にしている。また、第1オペランドOP1にアキュムレータを含む命令のうちの特定のINCTENSOU命令の機械命令のコード(例えば、「INCTENSOU AE,(HL)」命令のコードがEDD5H)と、第1オペランドOP1にアキュムレータを含まない命令のうちの特定のINCTENSOU命令の機械命令のコード(例えば、「INCTENSOU BD,(HL)」命令のコードがEDD6H)を連番にしている。また、第1オペランドOP1にアキュムレータを含まずペアレジスタを含む命令のうちの複数のINCTENSOU命令の機械命令のコード(例えば、「INCTENSOU BC,(HL)」命令のコードがED18H、「INCTENSOU DE,(HL)」命令のコードがED19H)と、第1オペランドOP1にアキュムレータを含まない命令のうちの特定のINCTENSOU命令の機械命令のコード(例えば、「INCTENSOU BD,(HL)」命令のコードがEDD6H)とを離れた番号にしている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令(隠し命令)を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。 The INCTENSOU instruction (INCTENSOU OP1, OP2), which is one of the special instructions, adds 1 to the 2-byte length value stored in the two registers indicated by the second operand OP2, and the value of the two registers after the addition The 1-byte length value stored at the address indicated by is stored in the lower register of the two registers indicated by the first operand OP1, and then stored in the two registers indicated by the second operand OP2. 1 is further added to the 2-byte length value, and the 1-byte length value stored in the address indicated by the two register values after the addition is added to the higher order of the two registers indicated by the first operand OP1. This is an instruction for storing in a register. The upper 1 byte of the instruction code of the INCENSOU instruction is a fixed value (EDH in this example), and the lower byte is a combination of the upper bit 1H (0001B) and the lower bits 8H (1000B) to 9H (10001B) of the instruction data table, The higher order bit DH (1101B) and the lower order bits 4H (0100B) to 6H (0110B) are assigned to the instruction data table. In this example, the code of the machine instruction including the accumulator in the first operand OP1 is a serial number (for example, the code of the “INCTENSOU AC, (HL)” instruction is EDD4H, the code of the “INCTENSOU AE, (HL)” is EDD5H). ing. Also, a machine instruction code of a specific INCENSOU instruction (for example, the code of “INCENSOU AE, (HL)” instruction is EDD5H) among instructions including an accumulator in the first operand OP1, and an accumulator is included in the first operand OP1. Among the non-instructions, the machine instruction code of a specific INCENSOU instruction (for example, the code of “INCENSOU BD, (HL)” instruction is EDD6H) is serialized. In addition, a machine instruction code of a plurality of INCENSOU instructions (for example, “INCTENSOU BC, (HL)” instruction code is ED18H, “INTCENSOU DE, ( HL) "instruction code is ED19H) and the machine instruction code of a specific INCENSOU instruction among the instructions that do not include an accumulator in the first operand OP1 (for example, the code of the" INCTENSOU BD, (HL) "instruction is EDD6H) And the numbers apart. In this way, by using an instruction area that has been considered as a free area in the past, it is possible to effectively use limited hardware resources and to embed an illegal instruction (hidden instruction) in the free area. In some cases, it is possible to prevent illegal acts and to ensure the fairness of the game.
「INCTENSOU BC,(HL)」命令を例に挙げると、第2オペランドで示されるペアレジスタHLに記憶された2バイト長の値に1を加算し、加算後のペアレジスタHLの値で示されるアドレス(HL)に記憶された1バイト長の値を、第1オペランドで示されるペアレジスタBCのうちの下位のレジスタCに記憶した後に、第2オペランドで示されるペアレジスタHLに記憶された2バイト長の値にさらに1を加算し、加算後のペアレジスタHLの値で示されるアドレス(HL)に記憶された1バイト長の値を、第1オペランドで示されるペアレジスタBCのうちの上位のレジスタBに記憶するための命令である。INCTENSOU命令は、HLレジスタの値で示されるアドレスの次以降のアドレスに格納されている値をレジスタに転送するのに適している。また、INCTENSOU命令は、該命令実行後にHLレジスタに記憶された値が示すアドレスに格納された値に基づいて該命令を繰り返すか否かの判断処理を行う場合、繰り返すと判断した場合には該命令でHLレジスタにプラス1することでHLレジスタに記憶された値が示すアドレスを次のアドレスにできるために該命令を使用するのに適している。 For example, in the case of the “INCENSOU BC, (HL)” instruction, 1 is added to the 2-byte length value stored in the pair register HL indicated by the second operand, and the value is indicated by the value of the pair register HL after the addition. After the 1-byte length value stored in the address (HL) is stored in the lower register C of the pair register BC indicated by the first operand, 2 stored in the pair register HL indicated by the second operand Further, 1 is added to the byte length value, and the 1-byte length value stored in the address (HL) indicated by the value of the pair register HL after the addition is the higher order of the pair register BC indicated by the first operand. This is an instruction for storing in the register B. The INCENSOU instruction is suitable for transferring a value stored in an address subsequent to the address indicated by the value of the HL register to the register. In addition, the INCENSOU instruction determines whether to repeat the instruction based on the value stored in the address indicated by the value stored in the HL register after execution of the instruction. It is suitable to use the instruction because the address indicated by the value stored in the HL register can be set to the next address by adding 1 to the HL register by the instruction.
例えば、上述の特別図柄変動時間抽選処理のステップS1109では、「INCTENSOU BC,(HL)」を実行することによって、HLレジスタに記憶された2バイト長の値(174FH)に1を加算し、加算後のHLレジスタの値(1750H)で示されるアドレスに記憶された1バイト長の値(AEH)を、BCレジスタのうちの下位のCレジスタに記憶した後に、HLレジスタに記憶された2バイト長の値にさらに1を加算し、加算後のHLレジスタの値(1751H)で示されるアドレスに記憶された1バイト長の値(20)を、BCレジスタのうちの上位のBレジスタに記憶している。 For example, in step S1109 of the special symbol variation time lottery process described above, 1 is added to the 2-byte length value (174FH) stored in the HL register by executing “INCENSOUBC, (HL)”. The 1-byte length value (AEH) stored at the address indicated by the value (1750H) of the later HL register is stored in the lower C register of the BC register, and then the 2-byte length stored in the HL register. 1 is added to the value of 1 and the 1-byte length value (20) stored at the address indicated by the value of the HL register (1751H) after addition is stored in the upper B register of the BC registers. Yes.
また、「INCTENSOU BC,(HL)」命令では、必要なステート数は14ステート、必要なバイト数は2バイトである。一方、従来の命令によってINCTENSOU命令と同様の処理を行う場合には、図36に示すように、必要なステート数は26ステート(=6+7+6+7)、必要なバイト数は4バイト(=1+1+1+1)である。したがって、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をBCレジスタに転送する場合に「INCTENSOU BC,(HL)」命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているROMの記憶領域を有効に利用することができる場合がある。 In the “INCENSOUBC BC, (HL)” instruction, the required number of states is 14 and the required number of bytes is 2 bytes. On the other hand, when the same processing as the INCENSOU instruction is performed by the conventional instruction, as shown in FIG. 36, the required number of states is 26 states (= 6 + 7 + 6 + 7), and the required number of bytes is 4 bytes (= 1 + 1 + 1 + 1). . Therefore, when the value stored in the next two consecutive addresses after the address indicated by the value of the HL register is transferred to the BC register, the processing time of the control program can be obtained by using the “INCTENSOU BC, (HL)” instruction. In addition, it is possible to reduce the control burden and reduce the amount of program code, and in some cases, it is possible to effectively use the storage area of the ROM with a limited memory capacity.
また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。特に、本実施形態では、ステップS1109〜S1111のループ処理、またはステップS1114〜S1116のループ処理においてINCTENSOU命令を繰り返し実行することになるため、処理速度の短縮の効果が高い。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。
<特殊命令/TENSOUINC命令>
Further, even if the program code is increased in order to improve game play, an increase in program capacity and a decrease in processing speed may be suppressed. In particular, in the present embodiment, the INCENSOOU instruction is repeatedly executed in the loop processing of steps S1109 to S1111 or the loop processing of steps S1114 to S1116, so that the effect of reducing the processing speed is high. Also, by reducing the program capacity, it is possible to reduce developer coding errors and check mistakes, facilitate debugging, increase development efficiency, and whether or not it has an appropriate function as a game machine. Even when an external organization confirms, there may be a case where it is possible to provide a gaming table that can prevent mistakes in confirmation work and allow a player to play a game with peace of mind.
<Special instruction / TENSOUINC instruction>
特殊命令の一つであるTENSOUINC命令(TENSOUINC OP1,OP2)は、第2オペランドOP2で示される2つのレジスタの値で示されるアドレスに記憶された1バイト長の値を、第1オペランドOP1で示される2つのレジスタのうちの下位のレジスタに記憶し、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値に1を加算した後に、第2オペランドOP2で示される2つのレジスタの値で示されるアドレスに記憶された1バイト長の値を、第1オペランドOP1で示される2つのレジスタのうちの上位のレジスタに記憶し、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値にさらに1を加算するための命令である。TENSOUINC命令の命令コードの上位1バイトは固定値(この例ではEDH)とし、下位バイトは、命令データテーブルの上位ビット1H(0001B)と下位ビット6H(0110B)〜7H(0111B)の組合せと、命令データテーブルの上位ビットDH(1101B)と下位ビット0H(0000B)〜2H(0010B)の組合せに割り当てている。本例では、第1オペランドOP1にアキュムレータを含む機械命令のコードを連番(例えば、「TENSOUINC AC,(HL)」命令のコードがEDD0H、「TENSOUINC AE,(HL)」のコードがEDD1H)にしている。また、第1オペランドOP1にアキュムレータを含む命令のうちの特定のTENSOUINC命令の機械命令のコード(例えば、「TENSOUINC AE,(HL)」命令のコードがEDD1H)と、第1オペランドOP1にアキュムレータを含まない命令のうちの特定のTENSOUINC命令の機械命令のコード(例えば、「TENSOUINC BD,(HL)」命令のコードがEDD2H)を連番にしている。また、第1オペランドOP1にアキュムレータを含まずペアレジスタを含む命令のうちの複数のTENSOUINC命令の機械命令のコード(例えば、「TENSOUINC BC,(HL)」命令のコードがED16H、「TENSOUINC DE,(HL)」命令のコードがED17H)と、第1オペランドOP1にアキュムレータを含まない命令のうちの特定のTENSOUINC命令の機械命令のコード(例えば、「TENSOUINC BD,(HL)」命令のコードがEDD2H)とを離れた番号にしている。また、TENSOUINC命令とINCTENSOU命令は、同一の第1オペランドOP1の命令はTENSOUINC命令のほうがINCTENSOU命令よりも番号が若い(例えば、「TENSOUINC BC,(HL)」命令のコードがED16H、「INCTENSOU BC,(HL)」命令のコードがED18H)。また、第1オペランドOP1にアキュムレータを含むTENSOUINC命令の機械命令のコード(例えば、「TENSOUINC AC,(HL)」命令のコードがEDD0H)と、第1オペランドOP1にアキュムレータを含むINCTENSOU命令の機械命令のコード(例えば、「INCTENSOU AC,(HL)」命令のコードがEDD4H)とは離れた番号、および/またはTENSOUINC命令とINCTENSOU命令以外の命令の機械命令のコード(例えば、コードEDD3H)の前後にしている。 The TENSOUINC instruction (TENSOUINC OP1, OP2), which is one of the special instructions, indicates the 1-byte length value stored in the address indicated by the two register values indicated by the second operand OP2 by the first operand OP1. Two registers indicated by the second operand OP2 after adding 1 to the 2-byte length value stored in the two registers indicated by the second operand OP2 The 1-byte length value stored at the address indicated by the value is stored in the upper register of the two registers indicated by the first operand OP1, and is stored in the two registers indicated by the second operand OP2. This is an instruction for adding 1 to a 2-byte length value. The upper 1 byte of the instruction code of the TENSOUINC instruction is a fixed value (EDH in this example), and the lower byte is a combination of the upper bit 1H (0001B) and the lower bits 6H (0110B) to 7H (0111B) of the instruction data table, The higher order bit DH (1101B) and the lower order bits 0H (0000B) to 2H (0010B) of the instruction data table are assigned. In this example, the code of the machine instruction including the accumulator in the first operand OP1 is a serial number (for example, the code of “TENSOUINC AC, (HL)” is EDD0H, and the code of “TENSOUINC AE, (HL)” is EDD1H). ing. Also, a machine instruction code of a specific TENSOUINC instruction (for example, “TENSOUINC AE, (HL)” instruction code is EDD1H) among instructions including an accumulator in the first operand OP1, and an accumulator is included in the first operand OP1. Among the non-instructions, a machine instruction code of a specific TENSOUINC instruction (for example, a code of “TENSOUINC BD, (HL)” instruction is EDD2H) is serialized. Also, the machine instruction code of a plurality of TENSOUINC instructions (for example, “TENSOUINC BC, (HL)” instruction code is ED16H, “TENSOUINC DE, ( HL) "instruction code is ED17H), and a specific TENSOUINC instruction machine instruction code (eg," TENSOUINC BD, (HL) "instruction code is EDD2H) among instructions that do not include an accumulator in the first operand OP1. And the numbers apart. In addition, the TENSOUINC instruction and the INCENSOU instruction have the same number of instructions in the first operand OP1 in the TENSOUINC instruction than the INCENSOU instruction (for example, the code of “TENSOUINC BC, (HL)” instruction is ED16H, “INCTENSOU BC, (HL) "instruction code is ED18H). Also, the machine instruction code of the TENSOUINC instruction including the accumulator in the first operand OP1 (for example, the code of “TENSOUIC AC, (HL)” instruction is EDD0H) and the machine instruction of the INCTENSOU instruction including the accumulator in the first operand OP1 Codes (for example, the code of the “INCTENSOU AC, (HL)” instruction is EDD4H) and / or before and after the machine instruction code of the instruction other than the TENSOUINC instruction and the INCENSOU instruction (for example, the code EDD3H) Yes.
「TENSOUINC BC,(HL)」命令を例に挙げると、第2オペランドで示されるペアレジスタHLの値で示されるアドレス(HL)に記憶された1バイト長の値を、第1オペランドで示されるペアレジスタBCのうちの下位のレジスタCに記憶し、第2オペランドで示されるペアレジスタHLに記憶された2バイト長の値に1を加算した後に、第2オペランドで示されるペアレジスタHLの値で示されるアドレス(HL)に記憶された1バイト長の値を、第1オペランドで示されるペアレジスタBCのうちの上位のレジスタBに記憶し、第2オペランドで示されるペアレジスタHLに記憶された2バイト長の値にさらに1を加算するための命令である。TENSOUINC命令は、HLレジスタの値で示されるアドレス以降のアドレスに格納されている値をレジスタに転送するのに適している。また、TENSOUINC命令は、該命令を実行後にBレジスタの値が0か否かで該命令を繰り返すか否かの判断処理を行う場合、繰り返すと判断した場合には判断前にHLレジスタにプラス1されているために該命令を使用するのに適している。また、繰り返し処理を行わない場合にもTENSOUINC命令後はHLレジスタの値をプラス1した状態で次の処理を行うことができるので該命令を使用するのに適している。 Taking the “TENSOUINC BC, (HL)” instruction as an example, the 1-byte length value stored in the address (HL) indicated by the value of the pair register HL indicated by the second operand is indicated by the first operand. The value of the pair register HL indicated by the second operand is stored in the lower register C of the pair register BC and 1 is added to the 2-byte length value stored in the pair register HL indicated by the second operand. 1 byte length value stored in the address (HL) indicated by is stored in the upper register B of the pair register BC indicated by the first operand, and is stored in the pair register HL indicated by the second operand. This is an instruction for adding 1 to a 2-byte length value. The TENSOUINC instruction is suitable for transferring a value stored in an address after the address indicated by the value of the HL register to the register. In addition, when the TENSOUINC instruction determines whether to repeat the instruction depending on whether or not the value of the B register is 0 after the execution of the instruction, if it is determined to repeat, the HL register is incremented by 1 before the determination. Is suitable for using the instruction. Even when the repeated processing is not performed, after the TENSOUINC instruction, the next process can be performed in the state in which the value of the HL register is incremented by 1, so that the instruction is suitable.
また、「TENSOUINC BC,(HL)」命令では、必要なステート数は14ステート、必要なバイト数は2バイトである。一方、従来の命令によってTENSOUINC命令と同様の処理を行う場合には、図36に示すように、必要なステート数は26ステート(=7+6+7+6)、必要なバイト数は4バイト(=1+1+1+1)である。したがって、HLレジスタの値で示されるアドレスと次のアドレスに格納された値をBCレジスタに転送する場合に「TENSOUINC BC,(HL)」命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているROMの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。なお、INCTENSOU命令とTENSOUINC命令は、CPUに両方実行可能に備えるようにしても良いし、何れか一方のみ実行可能に備えるようにしてもよい。
<特殊命令/CPT命令>
In the “TENSOUINC BC, (HL)” instruction, the required number of states is 14 and the required number of bytes is 2 bytes. On the other hand, when the same processing as the TENSOUINC instruction is performed by the conventional instruction, as shown in FIG. 36, the required number of states is 26 states (= 7 + 6 + 7 + 6), and the required number of bytes is 4 bytes (= 1 + 1 + 1 + 1). . Therefore, when transferring the address indicated by the value of the HL register and the value stored at the next address to the BC register, the processing time of the control program can be shortened by using the “TENSOUINC BC, (HL)” instruction. In addition to reducing the control burden, the amount of program code can be reduced, and the ROM storage area with limited memory capacity can be used effectively. Further, even if the program code is increased in order to improve game play, an increase in program capacity and a decrease in processing speed may be suppressed. Also, by reducing the program capacity, it is possible to reduce developer coding errors and check mistakes, facilitate debugging, increase development efficiency, and whether or not it has an appropriate function as a game machine. Even when an external organization confirms, there may be a case where it is possible to provide a gaming table that can prevent mistakes in confirmation work and allow a player to play a game with peace of mind. Note that both the INCENSOU instruction and the TENSOUINC instruction may be provided to be executable in the CPU, or only one of them may be provided to be executable.
<Special instruction / CPT instruction>
特殊命令の一つである「CPT A,(n:イミディエイト値)」命令は、Aレジスタの内容と、Tレジスタを上位、イミディエイト値を下位で示すアドレスのデータを比較する命令であり、例えば、TレジスタにF0Hが記憶された状態で「CPT A,(40H)」を実行した場合、Aレジスタの内容と、Tレジスタを上位、イミディエイト値を下位で示すアドレス(F040H)のデータが比較される。
<特殊命令/ADDONETWO命令>
The “CPT A, (n: immediate value)” instruction, which is one of the special instructions, is an instruction for comparing the contents of the A register with the data at the address indicating the T register as the upper level and the immediate value as the lower level. When “CPT A, (40H)” is executed while F0H is stored in the T register, the contents of the A register are compared with the data at the address (F040H) indicating the T register as the upper level and the immediate value as the lower level. .
<Special Instruction / ADDONETWO Instruction>
特殊命令の一つであるADDONETWO命令(ADDONETWO OP1,OP2)は、第1オペランドOP1で示されるレジスタに記憶された1バイト長の値に、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値(または、第2オペランドOP2で示される2バイト長のイミディエイト値)を加算するための命令である。ADDONETWO命令の命令コードの上位1バイトは固定値(この例ではEDH)とし、下位バイトは、命令データテーブルの上位ビット4H(0100B)と下位ビットAH(1010B)の組合せに割り当てている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令(隠し命令)を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。なお、ADDONETWO命令(ADDONETWO OP1,OP2)は、キャリーが発生し易く、Aレジスタに記憶された1バイト長の値(例えば、00H)にHLレジスタに記憶された2バイト長の値(例えば、0100H)を加算する場合には、キャリーが発生する。すなわち、Hレジスタが00H以外である場合にADDONETWO命令(ADDONETWO OP1,OP2)を実行することでキャリーを発生させることができる。なお、ADDTWOONE命令とADDONETWO命令は、CPUに両方備えるようにしても良いし、何れか一方のみ備えるようにしてもよい。
<特殊命令/SUBTWOONE命令>
The ADDONETWO instruction (ADDONETWO OP1, OP2), which is one of the special instructions, is stored in the two registers indicated by the second operand OP2 in the 1-byte length value stored in the register indicated by the first operand OP1. This is an instruction for adding a 2-byte length value (or an immediate value of 2-byte length indicated by the second operand OP2). The upper 1 byte of the instruction code of the ADDONETWO instruction is a fixed value (EDH in this example), and the lower byte is assigned to a combination of the upper bit 4H (0100B) and the lower bit AH (1010B) of the instruction data table. In this way, by using an instruction area that has been considered as a free area in the past, it is possible to effectively use limited hardware resources and to embed an illegal instruction (hidden instruction) in the free area. In some cases, it is possible to prevent illegal acts and to ensure the fairness of the game. Note that the ADDONETWO instruction (ADDONETWO OP1, OP2) is easy to carry, and a 1-byte length value (eg, 00H) stored in the A register is a 2-byte length value (eg, 0100H) stored in the HL register. ) Adds a carry. That is, when the H register is other than 00H, a carry can be generated by executing an ADDONETWO instruction (ADDONETWO OP1, OP2). Note that both the ADDTWOONE instruction and the ADDONETWO instruction may be provided in the CPU, or only one of them may be provided.
<Special instruction / SUBTWOONE instruction>
特殊命令の一つであるSUBTWOONE命令(SUBTWOONE OP1,OP2)は、第1オペランドOP1で示される2つのレジスタに記憶された2バイト長の値から、第2オペランドOP2で示されるレジスタに記憶された1バイト長の値(または、第2オペランドOP2で示される1バイト長のイミディエイト値)を減算するための命令である。SUBTWOONE命令の命令コードの上位1バイトは固定値(この例ではEDH)とし、下位バイトは、命令データテーブルの上位ビット4H(0100B)と下位ビット8H(1000B)の組合せに割り当てている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令(隠し命令)を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。なお、SUBTWOONE命令(SUBTWOONE OP1,OP2)は、キャリーが発生し難いが、HLレジスタに記憶された2バイト長の値(例えば、0001H)からAレジスタに記憶された1バイト長の値(例えば、FFH)を減算する場合には、キャリーが発生する。すなわち、SUBTWOONE命令(SUBTWOONE OP1,OP2)を実行後にキャリーが発生する場合には、Hレジスタが00Hであると判断することができる。
<データテーブルの変形例>
The SUBTWOONE instruction (SUBTWOONE OP1, OP2), which is one of the special instructions, is stored in the register indicated by the second operand OP2 from the 2-byte length value stored in the two registers indicated by the first operand OP1. This is an instruction for subtracting a 1-byte value (or a 1-byte immediate value indicated by the second operand OP2). The upper 1 byte of the instruction code of the SUBTWOONE instruction is a fixed value (EDH in this example), and the lower byte is assigned to a combination of the upper bit 4H (0100B) and the lower bit 8H (1000B) of the instruction data table. In this way, by using an instruction area that has been considered as a free area in the past, it is possible to effectively use limited hardware resources and to embed an illegal instruction (hidden instruction) in the free area. In some cases, it is possible to prevent illegal acts and to ensure the fairness of the game. The SUBTWOONE instruction (SUBTWOONE OP1, OP2) is difficult to carry, but a 2-byte length value (for example, 0001H) stored in the HL register to a 1-byte length value (for example, 0001H) When subtracting (FFH), a carry occurs. That is, if a carry occurs after executing the SUBTWOONE instruction (SUBTWOONE OP1, OP2), it can be determined that the H register is 00H.
<Modification of data table>
次に、図38を用いて、上述のデータテーブルの変形例について説明する。なお、同図は、テーブル選択用テーブル、第1変動パターン選択テーブル、および第2変動パターン選択テーブルの変形例を示した図であり、上記図32に相当する図である。 Next, a modified example of the above data table will be described with reference to FIG. This figure shows a modification of the table selection table, the first fluctuation pattern selection table, and the second fluctuation pattern selection table, and corresponds to FIG. 32 described above.
同図(b)に示す第1変動パターン選択テーブルでは、上記図32(b)に示す第1変動パターン選択テーブルに対して、乱数の個数の項目を乱数の上限の項目に変更している。また、同図(c)に示す第2変動パターン選択テーブルでは、上記図32(c)に示す第2変動パターン選択テーブルに対して、乱数の個数の値を変更している。
<特別図柄変動時間抽選処理の変形例>
In the first variation pattern selection table shown in FIG. 32B, the item of the number of random numbers is changed to the item of the upper limit of the random numbers with respect to the first variation pattern selection table shown in FIG. Further, in the second variation pattern selection table shown in FIG. 11C, the value of the number of random numbers is changed with respect to the second variation pattern selection table shown in FIG.
<Modified example of special symbol variation time lottery processing>
次に、図39を用いて、上記図34に示す特別図柄変動時間抽選処理の変形例について説明する。なお、同図は、変形例に係る特別図柄変動時間抽選処理の流れを示すフローチャートである。 Next, a modified example of the special symbol variation time lottery process shown in FIG. 34 will be described with reference to FIG. In addition, the figure is a flowchart which shows the flow of the special symbol fluctuation | variation time lottery process which concerns on a modification.
この変形例に係る特別図柄変動時間抽選処理では、上記図34に示す特別図柄変動時間抽選処理の「INCTENSOU BC,(HL)」命令を用いたステップS1109の処理やステップS1114の処理を、「INCTENSOU AC,(HL)」命令を用いたステップS1150の処理やステップS1152の処理に変更するとともに、ステップS1151、S1153において、上述のCPT命令を利用している。 In the special symbol variation time lottery process according to this modified example, the process of step S1109 and the process of step S1114 using the “INCTENSOU BC, (HL)” command of the special symbol variation time lottery process shown in FIG. The processing is changed to the processing in step S1150 using the “AC, (HL)” instruction or the processing in step S1152, and the above-described CPT instruction is used in steps S1151 and S1153.
具体的には、ステップS1150では、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をACレジスタに転送する(INCTENSOU AC,(HL))。例えば、HLレジスタの値が174FHの場合には、HLレジスタの値で示されるアドレスの次の連続した2つのアドレス(1750H、1751H)に格納された値をACレジスタに転送することによって、Aレジスタに19を、CレジスタにAEHを記憶する。 Specifically, in step S1150, the values stored at two consecutive addresses next to the address indicated by the value of the HL register are transferred to the AC register (INCTENSOU AC, (HL)). For example, when the value of the HL register is 174FH, the value stored in the two consecutive addresses (1750H, 1751H) next to the address indicated by the value of the HL register is transferred to the AC register, so that the A register 19 and AEH are stored in the C register.
次のステップS1151では、「CPT A,(41H)」を実行することによって、Aレジスタの内容と、Tレジスタ(F0H)を上位、イミディエイト値(41H)を下位で示すアドレス(F041H)のデータ、すなわち、上述の乱数1記憶領域に記憶された乱数1と、を比較する(Aレジスタの値から乱数1を減算する)。次のステップS1154では、ステップS1151の比較(減算)の結果、キャリーが発生しないか否か、すなわち減算の結果が正の値になったかどうかを判定し、該当する場合にはステップS1112に進み、該当しない場合には該当するまでステップS1150〜S1151の処理を繰り返し実行する。 In the next step S1151, by executing “CPT A, (41H)”, the contents of the A register, the data of the address (F041H) indicating the T register (F0H) as the upper level, and the immediate value (41H) as the lower level, That is, the random number 1 stored in the random number 1 storage area is compared (the random number 1 is subtracted from the value of the A register). In the next step S1154, it is determined whether or not a carry occurs as a result of the comparison (subtraction) in step S1151, that is, whether or not the result of the subtraction has become a positive value. If applicable, the process proceeds to step S1112. If not applicable, the processing of steps S1150 to S1151 is repeatedly executed until it is applicable.
また、ステップS1152では、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をACレジスタに転送する(INCTENSOU AC,(HL))。例えば、HLレジスタの値が17FFHの場合には、HLレジスタの値で示されるアドレスの次の連続した2つのアドレス(1800H、1801H)に格納された値をACレジスタに転送することによって、Aレジスタに255を、Cレジスタに01Hを記憶する。 In step S1152, the values stored in the two consecutive addresses next to the address indicated by the value of the HL register are transferred to the AC register (INCENSOU AC, (HL)). For example, when the value of the HL register is 17FFH, the value stored in the two consecutive addresses (1800H and 1801H) next to the address indicated by the value of the HL register is transferred to the AC register, so that the A register 255 and 01H are stored in the C register.
次のステップS1153では、「CPT A,(42H)」を実行することによって、Aレジスタの内容と、Tレジスタ(F0H)を上位、イミディエイト値(42H)を下位で示すアドレス(F042H)のデータ、すなわち、上述の乱数2記憶領域に記憶された乱数2を比較する(Aレジスタの値から乱数2を減算する)。次のステップS1155では、ステップS1153の比較(減算)の結果、キャリーが発生しないか否か、すなわち減算の結果が正の値になったかどうかを判定し、該当する場合にはステップS1117に進み、該当しない場合には該当するまでステップS1152〜S1153の処理を繰り返し実行する。
<初期設定処理>
In the next step S1153, by executing “CPT A, (42H)”, the contents of the A register, the data of the address (F042H) indicating the T register (F0H) as the higher order, and the immediate value (42H) as the lower order, That is, the random number 2 stored in the random number 2 storage area is compared (the random number 2 is subtracted from the value of the A register). In the next step S1155, as a result of the comparison (subtraction) in step S1153, it is determined whether or not a carry occurs, that is, whether or not the result of the subtraction has a positive value. If applicable, the process proceeds to step S1117. If not applicable, the processing of steps S1152 to S1153 is repeatedly executed until it is applicable.
<Initial setting process>
次に、図40および図41を用いて、上述の主制御部メイン処理の初期設定2(ステップS107)で実行される初期設定処理について説明する。なお、図40(a)は、ROM306に記憶される初期設定データテーブルの一例を示した図であり、同図(b)は、初期設定処理後のRAM308の記憶領域の一部を示した図であり、同図(c)は、初期設定処理の流れを示すフローチャートである。また、図41は、初期設定処理のプログラムリストの一例である。 Next, the initial setting process executed in the initial setting 2 (step S107) of the main control unit main process described above will be described using FIG. 40 and FIG. 40A shows an example of the initial setting data table stored in the ROM 306, and FIG. 40B shows a part of the storage area of the RAM 308 after the initial setting process. FIG. 6C is a flowchart showing the flow of the initial setting process. FIG. 41 is an example of a program list for initial setting processing.
ステップS1201では、上述のTENSOUINC命令(「TENSOUINC BD,(HL)」によって、HLレジスタの値で示されるアドレス(HL)に記憶された1バイト長の値を、BDレジスタのうちの下位のDレジスタに記憶し、HLレジスタに記憶された2バイト長の値に1を加算した後に、HLレジスタの値で示されるアドレス(HL)に記憶された1バイト長の値を、BCレジスタのうちの上位のBレジスタに記憶し、HLレジスタに記憶された2バイト長の値にさらに1を加算する。例えば、HLレジスタに、同図(a)に示す初期設定データテーブルの先頭アドレスである100DHを設定した場合には、DレジスタにはF0Hが、Bレジスタには3が記憶される。 In step S1201, the 1-byte length value stored in the address (HL) indicated by the value of the HL register by the above-described TENSOUINC instruction (“TENSOUINC BD, (HL)”) is converted into the lower D register of the BD register. After adding 1 to the 2-byte length value stored in the HL register, the 1-byte length value stored in the address (HL) indicated by the HL register value is 1 is added to the 2-byte length value stored in the HL register, for example, the initial address of the initial setting data table shown in FIG. In this case, F0H is stored in the D register and 3 is stored in the B register.
次のステップS1202では、上述のTENSOUINC命令(「TENSOUINC AE,(HL)」によって、HLレジスタの値で示されるアドレス(HL)に記憶された1バイト長の値を、AEレジスタのうちの下位のEレジスタに記憶し、HLレジスタに記憶された2バイト長の値に1を加算した後に、HLレジスタの値で示されるアドレス(HL)に記憶された1バイト長の値を、AEレジスタのうちの上位のAレジスタに記憶し、HLレジスタに記憶された2バイト長の値にさらに1を加算する。例えば、先の例では、Eレジスタには、100FHに記憶されている値である17Hが、Aレジスタには、1010に記憶されている値である01Hが記憶され、HLレジスタの値は1011Hに更新される。 In the next step S1202, the 1-byte length value stored in the address (HL) indicated by the value of the HL register by the above-mentioned TENSOUINC instruction (“TENSOUINC AE, (HL)”) After storing 1 in the 2-byte length value stored in the E register and the 2-byte length value stored in the HL register, the 1-byte length value stored in the address (HL) indicated by the HL register value is stored in the AE register. 1 is added to the 2-byte length value stored in the HL register, for example, in the above example, the E register has a value 17H stored in 100FH. The A register stores 01H, which is the value stored in 1010, and the value in the HL register is updated to 1011H.
次のステップS1203では、Aレジスタの値をDEレジスタの値で示されるアドレス(DE)に記憶する。先の例では、Aレジスタの値である01Hを、DEレジスタの値で示されるアドレスであるRAM308の7E17Hに記憶する(同図(b)参照)。 In the next step S1203, the value of the A register is stored in the address (DE) indicated by the value of the DE register. In the previous example, 01H, which is the value of the A register, is stored in 7E17H of the RAM 308, which is the address indicated by the value of the DE register (see FIG. 5B).
次のステップS1204では、Bレジスタの値から1を減算し、減算結果が0になるまでステップS1202〜S1203の処理を繰り返し実行し(ステップS1202の処理のアドレスまで相対ジャンプして処理を実行し)、減算結果が0になった場合にはステップS1205に進む。 In the next step S1204, 1 is subtracted from the value of the B register, and the processing of steps S1202 to S1203 is repeatedly executed until the subtraction result becomes 0 (relative jump to the processing address of step S1202 is executed). If the subtraction result is 0, the process proceeds to step S1205.
先の例では、Bレジスタが2の場合には、ステップS1202の処理により、Eレジスタには、1011Hに記憶されている値である20Hが、Aレジスタには、1012Hに記憶されている値である16Hが記憶され、HLレジスタの値は1013Hに更新され、ステップS1203の処理により、Aレジスタの値である16Hを、DEレジスタの値で示されるアドレスであるRAM308のF020Hに記憶する(同図(b)参照)。 In the above example, when the B register is 2, 20H which is the value stored in 1011H is stored in the E register and the value stored in 1012H is stored in the A register by the processing in step S1202. 16H is stored, the value of the HL register is updated to 1013H, and the value of 16H, which is the value of the A register, is stored in F020H of the RAM 308, which is the address indicated by the value of the DE register, by the processing of step S1203 (same figure). (See (b)).
また、Bレジスタが1の場合には、ステップS1202の処理により、Eレジスタには、1013Hに記憶されている値である3AHが、Aレジスタには、1014Hに記憶されている値である06Hが記憶され、HLレジスタの値は1015Hに更新され、ステップS1203の処理により、Aレジスタの値である06Hを、DEレジスタの値で示されるアドレスであるRAM308のF03AHに記憶する(同図(b)参照)。なお、上記F017H、F020H、F03AHに記憶する遊技設定(遊技制御に用いる各種情報)としては、例えば電源ステータス、払出制御コマンド加工種別、表示器表示ステータスなどが挙げられ、また、遊技設定の数は、複数でもよいし、1つのみでもよい。また、初期設定処理(moDataSet)は、処理開始時のHLレジスタの値を異ならせることにより(HLレジスタに設定するアドレスを、初期設定データテーブルとは異なる他のテーブルの先頭アドレスなどに設定することにより)、複数の処理から呼び出し可能な(例えば、HLレジスタを引数として呼び出し可能な)汎用的なデータ設定処理モジュールとして扱ってもよい。この場合、プログラム容量の削減や処理速度の向上を図ることができる。 If the B register is 1, 3AH which is the value stored in 1013H is stored in the E register and 06H which is the value stored in 1014H is stored in the A register by the processing in step S1202. The value of the HL register is updated to 1015H, and the value of 06H, which is the value of the A register, is stored in F03AH of the RAM 308, which is the address indicated by the value of the DE register, by the processing of step S1203 ((b) in the figure). reference). The game settings (various information used for game control) stored in F017H, F020H, and F03AH include, for example, power status, payout control command processing type, display display status, etc., and the number of game settings is There may be more than one or only one. In addition, the initial setting process (moDataSet) is performed by setting the value of the HL register at the start of processing (the address set in the HL register is set to the head address of another table different from the initial setting data table). Therefore, it may be handled as a general-purpose data setting processing module that can be called from a plurality of processes (for example, can be called using an HL register as an argument). In this case, the program capacity can be reduced and the processing speed can be improved.
この初期設定処理では、ステップS1201、S1202でTENSOUINC命令を使用しているため、ステート数を従来の26ステートから14ステートに削減することができ、処理時間を短縮することができる上に、バイト数を従来の4バイトから2バイトに削減することができ、プログラム容量を削減することができる。特に、この例では、ステップS1202〜S204のループ処理においてTENSOUINC命令を繰り返し実行することになるため、処理速度の短縮の効果が高い。 In this initial setting process, since the TENSOUINC instruction is used in steps S1201 and S1202, the number of states can be reduced from the conventional 26 states to 14 states, the processing time can be shortened, and the number of bytes can be reduced. Can be reduced from the conventional 4 bytes to 2 bytes, and the program capacity can be reduced. In particular, in this example, since the TENSOUINC instruction is repeatedly executed in the loop processing of steps S1202 to S204, the effect of reducing the processing speed is high.
また、TENSOUINC命令の中でも、Aレジスタ(アキュムレータ)と他のレジスタのペアをオペランドとする命令(本実施形態では、TENSOUINC AC,(HL)、TENSOUINC AE,(HL))は、Aレジスタの値を変更すると同時に、ペアレジスタ(本実施形態では、BCレジスタとDEレジスタ)の上位バイトのレジスタ(本実施形態では、BレジスタとDレジスタ)を固定しつつ、ペアレジスタの下位バイトのレジスタ(本実施形態では、CレジスタとEレジスタ)の値だけを変更することができるため、従来よりも高度なプログラミングが可能で、プログラム容量の削減や処理速度の向上を図ることができる。 Also, among the TENSOUINC instructions, the instruction (in this embodiment, TENSOUINC AC, (HL), TENSOUINC AE, (HL)) having a pair of the A register (accumulator) and another register as an operand is the value of the A register. At the same time, the upper byte register (B register and D register in this embodiment) of the pair register (BC register and DE register in this embodiment) is fixed, while the lower byte register (this embodiment) of the pair register is fixed. In the embodiment, only the values of the C register and the E register can be changed, so that more advanced programming than before can be performed, and the program capacity can be reduced and the processing speed can be improved.
また、TENSOUINC命令の中でも、第1のペアレジスタ(本実施形態では、BCレジスタ)の上位バイトのレジスタ(本実施形態では、Bレジスタ)と、第2のペアレジスタ(本実施形態では、DEレジスタ)の上位バイトのレジスタ(本実施形態では、Dレジスタ)のペアをオペランドとする命令(本実施形態では、TENSOUINC BD,(HL))は、第1のペアレジスタと第2のペアレジスタの上位バイトのレジスタの値のみを変更することができるため、従来よりも高度なプログラミングが可能で、プログラム容量の削減や処理速度の向上を図ることができる。 Among the TENSOUINC instructions, the upper byte register (B register in the present embodiment) of the first pair register (BC register in the present embodiment) and the second pair register (DE register in the present embodiment) ) Instruction (TENSOUINC BD, (HL) in this embodiment) having a pair of registers (D register in this embodiment) as operands is higher in the first pair register and the second pair register. Since only the byte register value can be changed, more advanced programming than before is possible, and the program capacity can be reduced and the processing speed can be improved.
また、TENSOUINC命令の中でも、オペランドにBレジスタを含む命令(本実施形態では、TENSOUINC BC,(HL)、TENSOUINC BD,(HL))を利用し、かつ、上述の初期設定処理のステップS1202〜S1204のループ処理のように、Bレジスタによってループ処理の回数を判定するように構成すれば、ループ処理のプログラム容量の削減や処理速度の向上を図ることができる。 Also, among the TENSOUINC instructions, instructions including the B register in the operand (TENSOUINC BC, (HL), TENSOUINC BD, (HL) in the present embodiment) are used, and steps S1202 to S1204 of the above-described initial setting process are used. If the B register is used to determine the number of times loop processing is performed as in the case of loop processing, the program capacity of the loop processing can be reduced and the processing speed can be improved.
なお、CPU304は、TENSOUINC命令とINCTENSOU命令両方を実行可能であり、遊技制御プログラムは第一の命令(TENSOUINC)によるテーブルサーチと第二の命令(INCTENSOU)によるテーブルサーチの両方を実行するようにしてもよい。 Note that the CPU 304 can execute both the TENSOUINC instruction and the INCTENSOU instruction, and the game control program executes both the table search by the first instruction (TENSOUINC) and the table search by the second instruction (INCTENSOU). Also good.
「テーブルサーチ」は一般的な用語どおりの意味としてもよく、例えば、一または複数の行と一または複数の列から構成されたテーブル(例えば、図32、図38の第1変動パターン選択テーブル・第2変動パターン選択テーブル、図40の初期設定データテーブル)から対応する行を探し出し、その行の一または複数の列の値を取り出す処理を示してもよいし、探し出した行のテーブル内の行の位置(例えば行番号)を導出する処理としてもよい。同様に対応する列を探し出し、その列の一または複数の行の値を取り出す処理を示すものとしてもよいし、探し出した列のテーブル内の列の位置(例えば列番号)を導出する処理としてもよい。 The “table search” may have a meaning according to a general term, for example, a table composed of one or more rows and one or more columns (for example, the first variation pattern selection table of FIG. 32 and FIG. 38). The second variation pattern selection table (initial setting data table of FIG. 40) may be used to search for a corresponding row, and the process of extracting the value of one or more columns of the row may be indicated. It is good also as processing which derives the position (for example, line number). Similarly, a process for finding a corresponding column and extracting a value of one or a plurality of rows of the column may be indicated, or a process for deriving a column position (for example, a column number) in the table of the searched column. Good.
ここで対応する行を探し出す処理は、探している一または複数の値が、テーブル内の特定の行における一または複数の特定の列の値と一致または関係する場合に、当該特定の行を対応する行とするような処理としてもよい。対応する列を探し出す処理も同様としてもよい。
<主制御部の第2特殊命令>
The process of finding the corresponding row here corresponds to the specific row when the value or values you are looking for match or relate to the value of one or more specific columns in the specific row in the table. It is also possible to perform processing such as making a line to be executed. The process for finding the corresponding column may be the same.
<Second special instruction of main control unit>
次に、主制御部300が備える第2特殊命令について説明する。図42(a)は、主制御部300が備える第2特殊命令の一部を示した図である。
<第2特殊命令/CPRT命令(演算+リターン命令)>
Next, the second special instruction provided in the main control unit 300 will be described. FIG. 42A is a diagram illustrating a part of the second special instruction included in the main control unit 300. FIG.
<Second special instruction / CPRT instruction (operation + return instruction)>
第2特殊命令の一つである「CPRTZ r」命令(または、「CPRTZ (rr)」命令)は、オペランドrが示すレジスタ(または、オペランド(rr)が示すペアレジスタrrに格納されたアドレス)に記憶された値から0を減算し、Zフラグが1にセットされる状態の場合(減算結果が0の場合。以下、同じ)に、スタックポインタPCが示すスタック領域SPに記憶されたデータをプログラムカウンタPCの下位アドレスに、また、スタックポインタPCが示すスタック領域SP+1に記憶されたデータをプログラムカウンタPCの上位アドレスにそれぞれロード(復帰)した後にスタックポインタPCを2つ加算してからZフラグを1にセットし、Zフラグが0にクリアされる状態の場合(減算結果が0以外の場合。以下、同じ)に、後続の処理のアドレスをプログラムカウンタPCにセットしてからZフラグを0にクリアする命令である。なお、プログラムカウンタPCをセットするタイミングとZフラグを0にクリアするタイミングは、逆でもよいし、同時でもよい。 The “CPRTZ r” instruction (or “CPRTZ (rr)” instruction), which is one of the second special instructions, is a register indicated by the operand r (or an address stored in the pair register rr indicated by the operand (rr)). 0 is subtracted from the value stored in (1) and the Z flag is set to 1 (when the subtraction result is 0. The same applies hereinafter), the data stored in the stack area SP indicated by the stack pointer PC is After loading (returning) the data stored in the lower address of the program counter PC and the data stored in the stack area SP + 1 indicated by the stack pointer PC to the upper address of the program counter PC, two stack pointers PC are added and then the Z flag is added. Is set to 1 and the Z flag is cleared to 0 (when the subtraction result is other than 0. The same applies hereinafter) ), The address of the subsequent processing is set in the program counter PC, and then the Z flag is cleared to 0. It should be noted that the timing for setting the program counter PC and the timing for clearing the Z flag to 0 may be reversed or simultaneous.
また、「CPRTNZ r」命令(または、「CPRTNZ (rr)」命令)は、オペランドrが示すレジスタ(または、オペランド(rr)が示すペアレジスタrrに格納されたアドレス)に記憶された値から0を減算し、Zフラグが0にクリアされる状態の場合に、スタックポインタPCが示すスタック領域SPに記憶されたデータをプログラムカウンタPCの下位アドレスに、また、スタックポインタPCが示すスタック領域SP+1に記憶されたデータをプログラムカウンタPCの上位アドレスにそれぞれロード(復帰)した後にスタックポインタPCを2つ加算してからZフラグを0にクリアし、Zフラグが1にセットされる状態の場合に、後続の処理のアドレスをプログラムカウンタPCにセットしてからZフラグを1にセットする命令である。なお、オペランドrが示すレジスタとしては、B、C、D、E、H、Lレジスタなどが挙げられ、オペランドrrが示すペアレジスタとしては、BC、DE、HLなどが挙げられる(次のCPJR命令も同様)。
<第2特殊命令/CPJR命令(演算+ジャンプ命令)>
Also, the “CPRTNZ r” instruction (or “CPRTNZ (rr)” instruction) is 0 from the value stored in the register indicated by the operand r (or the address stored in the pair register rr indicated by the operand (rr)). When the Z flag is cleared to 0, the data stored in the stack area SP indicated by the stack pointer PC is stored in the lower address of the program counter PC and in the stack area SP + 1 indicated by the stack pointer PC. When the stored data is loaded (returned) to the upper address of the program counter PC, the stack pointer PC is added by two, the Z flag is cleared to 0, and the Z flag is set to 1. Set the Z flag to 1 after setting the address of subsequent processing in the program counter PC That is an instruction. The register indicated by the operand r includes B, C, D, E, H, and L registers, and the pair register indicated by the operand rr includes BC, DE, and HL (the next CPJR instruction) The same).
<Second special instruction / CPJR instruction (operation + jump instruction)>
第2特殊命令の一つである「CPJRZ r、e」命令(または、「CPJPZ (rr)、e」命令)は、オペランドrが示すレジスタ(または、オペランド(rr)が示すペアレジスタrrに格納されたアドレス)に記憶された値から0を減算し、Zフラグが1にセットされる状態の場合にプログラムカウンタPC+e(eは+127〜−128の数値)が示すアドレスにジャンプしてからZフラグを1にセットし、Zフラグが0にクリアされる状態の場合に、後続の処理のアドレスをプログラムカウンタPCにセットしてからZフラグを0にクリアする命令である。また、「CPJRNZ r、e」命令(または、「CPJPNZ (rr)、e」命令)は、オペランドrが示すレジスタ(または、オペランドrrが示すペアレジスタ)に記憶された値から0を減算し、Zフラグが0にクリアされる状態の場合にプログラムカウンタPC+e(eは+127〜−128の数値)が示すアドレスにジャンプしてからZフラグを0にクリアし、Zフラグが1にセットされる状態の場合に、後続の処理のアドレスをプログラムカウンタPCにセットしてからZフラグを1にセットする命令である。 The “CPJRZ r, e” instruction (or “CPJPZ (rr), e” instruction), which is one of the second special instructions, is stored in the register indicated by the operand r (or the pair register rr indicated by the operand (rr)). 0 is subtracted from the value stored in the stored address), and when the Z flag is set to 1, the Z flag is jumped to the address indicated by the program counter PC + e (e is a value from +127 to -128) Is set to 1 and the Z flag is cleared to 0, the address of the subsequent processing is set in the program counter PC and then the Z flag is cleared to 0. The “CPJRNZ r, e” instruction (or “CPJPNZ (rr), e” instruction) subtracts 0 from the value stored in the register indicated by the operand r (or the pair register indicated by the operand rr), When the Z flag is cleared to 0, after jumping to the address indicated by the program counter PC + e (e is a value from +127 to -128), the Z flag is cleared to 0 and the Z flag is set to 1 In this case, the Z flag is set to 1 after the address of subsequent processing is set in the program counter PC.
また、「CPJRC r、n、e」命令(または、「CPJRC (rr)、n、e」命令)は、オペランドrが示すレジスタ(または、オペランド(rr)が示すペアレジスタrrに格納されたアドレス)に記憶された値からn(8ビット長のイミディエイト値)を減算し、Cフラグが1にセットされる状態の場合(減算結果が0の場合。以下、同じ)に、プログラムカウンタPC+e(eは+127〜−128の数値)が示すアドレスにジャンプしてからCフラグを1にセットし、Cフラグが0にクリアされる状態の場合(減算結果が0以外の場合。以下、同じ)に、後続の処理のアドレスをプログラムカウンタPCにセットしてからCフラグを0にセットする命令である。また、「CPJRNC r、n、e」命令(または、「CPJRNC (rr)、n、e」命令)は、オペランドrが示すレジスタ(または、オペランド(rr)が示すペアレジスタrrに格納されたアドレス)に記憶された値からn(8ビット長のイミディエイト値)を減算し、Cフラグが0にクリアされる状態の場合に、プログラムカウンタPC+e(eは+127〜−128の数値)が示すアドレスにジャンプしてからCフラグを0にクリアし、Cフラグが1にセットされる状態の場合に、後続の処理のアドレスをプログラムカウンタPCにセットしてからCフラグを1にセットする命令である。 The “CPJRC r, n, e” instruction (or “CPJRC (rr), n, e” instruction) is an address stored in the register indicated by the operand r (or the pair register rr indicated by the operand (rr)). ) Is subtracted from the value stored in (8-bit immediate value), and when the C flag is set to 1 (when the subtraction result is 0, the same applies hereinafter), the program counter PC + e (e Jumps to the address indicated by +127 to -128) and then sets the C flag to 1 and the C flag is cleared to 0 (when the subtraction result is other than 0. The same applies hereinafter) This is an instruction for setting the C flag to 0 after setting the address of the subsequent processing in the program counter PC. Further, the “CPJRNC r, n, e” instruction (or “CPJRNC (rr), n, e” instruction) is an address stored in the register indicated by the operand r (or the pair register rr indicated by the operand (rr)). ) Is subtracted from the value stored in (8-bit immediate value), and when the C flag is cleared to 0, the address indicated by the program counter PC + e (e is a numerical value of +127 to −128) This instruction clears the C flag to 0 after the jump and sets the C flag to 1 after setting the address of the subsequent processing in the program counter PC when the C flag is set to 1.
図42(b)は、第2特殊命令を実行する前後のフラグレジスタの状態を示した図である。主制御部300は、Sフラグ、Zフラグ、SZフラグ、Hフラグ、、P/Vフラグ、Nフラグ、Cフラグを有する8ビットのフラグレジスタを備えている。このフラグレジスタに含まれるSフラグ、Zフラグ、SZフラグ、Hフラグ、Cフラグは、第2特殊命令の実行や、その他の算術論理演算命令の実行によって1にセットされるか0にクリアされる。
<CPJR命令を用いた処理>
FIG. 42B is a diagram showing the state of the flag register before and after executing the second special instruction. The main control unit 300 includes an 8-bit flag register having an S flag, a Z flag, an SZ flag, an H flag, a P / V flag, an N flag, and a C flag. The S flag, Z flag, SZ flag, H flag, and C flag included in this flag register are set to 1 or cleared to 0 by execution of the second special instruction or execution of other arithmetic logic operation instructions. .
<Process using CPJR instruction>
次に、CPJR命令を用いた処理について説明する。図43は、CPJR命令を用いた処理の一例を示した図である。同図に示す第一のモジュールでは、処理Xを実行した後に、CPJR命令を実行し、所定条件が成立した場合に処理Zにジャンプする処理を行い、所定条件が成立しなかった場合に後続の処理Yを実行する処理を行う。 Next, processing using the CPJR instruction will be described. FIG. 43 is a diagram showing an example of processing using the CPJR instruction. In the first module shown in the figure, after executing the process X, the CPJR instruction is executed, and when the predetermined condition is satisfied, the process jumps to the process Z. When the predetermined condition is not satisfied, the subsequent module Processing for executing processing Y is performed.
ここで、「所定条件が成立した場合」とは、上述の「CPJRZ r、e」命令(または、「CPJRZ (rr)、e」命令)であれば、Zフラグが1にセットされる状態となった場合であり、上述の「CPJPNZ r、e」命令(または、「CPJRNZ (rr)、e」命令)であれば、Zフラグが0にクリアされる状態になった場合である。また、上述の「CPJRC r、n、e」命令(または、「CPJPC (rr)、n、e」命令)であれば、Cフラグが1にセットされる状態になった場合であり、「CPJRNC r、n、e」命令(または、「CPJPNC (rr)、n、e」命令)であれば、Cフラグが0にクリアされる状態になった場合である。 Here, “when the predetermined condition is satisfied” means that the Z flag is set to 1 if the above-mentioned “CPJRZ r, e” instruction (or “CPJRZ (rr), e” instruction) is used. If the above-described “CPJPNZ r, e” instruction (or “CPJRNZ (rr), e” instruction), the Z flag is cleared to 0. If the above-mentioned “CPJRC r, n, e” instruction (or “CPJPC (rr), n, e” instruction) is used, the C flag is set to 1, and “CPJRNC” In the case of the “r, n, e” instruction (or “CPJPNC (rr), n, e” instruction), the C flag is cleared to 0.
また、CPJR命令の実行前に行われる処理Xにおけるフラグレジスタの内容が第1の内容αであった場合、CPJR命令の実行により、後続の処理Y、処理Zにおけるフラグレジスタの内容は第2の内容βに変化する。しかしながら、本実施形態では、CPJR命令の実行中にフラグレジスタの内容を参照しないことに加えて、CPJR命令の実行後の処理Y、処理Zでも、CPJR命令によって変化したフラグレジスタの内容を一切参照することなく処理を行うように構成している。 When the contents of the flag register in the process X performed before the execution of the CPJR instruction are the first contents α, the contents of the flag register in the subsequent processes Y and Z are changed to the second contents α by executing the CPJR instruction. The content changes to β. However, in this embodiment, in addition to not referring to the contents of the flag register during the execution of the CPJR instruction, the contents of the flag register changed by the CPJR instruction are also referred to in the processes Y and Z after the execution of the CPJR instruction. It is configured to perform the processing without doing.
このように、CPJR命令の実行中にフラグレジスタの内容を参照しないことに加えて、CPJR命令の実行によりフラグレジスタの内容を変化させるが、CPJR命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの改ざんを未然に防止できる場合がある。なお、この例では、CPJR命令の実行中にフラグレジスタの内容を参照しないように構成したが、CPJR命令の実行中にはフラグレジスタの内容を参照し、CPJR命令の実行後に行う所定の処理においてはCPJR命令の実行前に変化したフラグレジスタの内容を参照することなく処理を行うように構成しても、同様の効果を得ることができる場合がある(以下、同様)。 In this way, in addition to not referring to the contents of the flag register during the execution of the CPJR instruction, the contents of the flag register are changed by the execution of the CPJR instruction. If the processing is performed without referring to the contents, the relationship between the change in the contents of the flag register and the flow of the program execution can be eliminated, the analysis of the program becomes difficult, and unauthorized program tampering can occur. Can be prevented. In this example, the contents of the flag register are not referred to during the execution of the CPJR instruction. However, the contents of the flag register are referred to during the execution of the CPJR instruction, and in a predetermined process performed after the execution of the CPJR instruction. Even if the processing is performed without referring to the contents of the flag register changed before the execution of the CPJR instruction, the same effect may be obtained (the same applies hereinafter).
図44(a)は、従来の命令を用いたプログラムの一例を示した図であり、同図(b)は、CPJR命令を用いたプログラムの一例である。例えば、Aレジスタの値が0であるか0以外であるかを判定し、Aレジスタの値が0の場合に所定の処理にジャンプするプログラムを組む場合、同図(a)に示す従来のプログラムでは、(1−1)に示すAND命令(AND A)と、(1−2)に示すJR命令(JR Z、ITmrRnwCtl020)の2つの命令によって実現する必要があるが、同図(b)に示す本実施形態のプログラムでは、(2−1)に示す1つのCPJR命令(CPJRZ A、ITmrRnwCtl020)だけで同一の処理を実現している。 FIG. 44A shows an example of a program using a conventional instruction, and FIG. 44B shows an example of a program using a CPJR instruction. For example, when a program for determining whether the value of the A register is 0 or other than 0 and jumping to a predetermined process when the value of the A register is 0, the conventional program shown in FIG. Then, it is necessary to realize by two instructions of an AND instruction (AND A) shown in (1-1) and a JR instruction (JRZ, ITmrRnwCtl020) shown in (1-2). In the program of this embodiment shown, the same processing is realized by only one CPJR instruction (CPJRZ A, ITmrRnwCtl020) shown in (2-1).
このように、所定条件が成立するか否かを判定し、所定条件が成立した場合に所定の処理にジャンプするプログラムを組む場合にCPJR命令を用いれば、従来よりもプログラムコードを減らすことができ、限られたメモリを有効に活用できる場合がある。 In this way, if the CPJR instruction is used to determine whether or not a predetermined condition is satisfied and a program that jumps to a predetermined process when the predetermined condition is satisfied, the program code can be reduced as compared with the conventional case. In some cases, limited memory can be used effectively.
また、同図(b)に示す本実施形態のプログラムでは、(2−1)に示すCPJR命令(CPJRZ A、ITmrRnwCtl020)の実行後の処理Y、処理Zでは、CPJR命令によって変化したフラグレジスタの内容を一切参照することなく処理を行うように構成している。このように、CPJR命令の実行によりフラグレジスタの内容を変化させる一方で、CPJR命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。 In the program of this embodiment shown in FIG. 5B, in the processing Y and processing Z after execution of the CPJR instruction (CPJRZ A, ITmrRnwCtl020) shown in (2-1), the flag register changed by the CPJR instruction is changed. Processing is performed without referring to the contents at all. In this way, if the contents of the flag register are changed by the execution of the CPJR instruction, the predetermined process performed after the execution of the CPJR instruction is performed without referring to the contents of the flag register. The relationship between the change in the contents of the program and the flow of execution of the program can be eliminated, the analysis of the program is difficult, and the analysis of the illegal program can be prevented in advance.
なお、同図(b)に示す本実施形態のプログラムの処理Zに続く処理Vでは、CPJR命令の実行後に他の命令(この例では、「OR (HL)」命令)によって変化したフラグレジスタの内容(この例では、Zフラグの内容)に基づいた処理(この例では、JR命令)を行っている。このように、フラグレジスタの内容を参照しない処理Zとフラグレジスタの内容を参照する処理Vを連続させれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。 In the process V following the process Z of the program of the present embodiment shown in FIG. 6B, the flag register changed by another instruction (in this example, the “OR (HL)” instruction) after the execution of the CPJR instruction. Processing (in this example, a JR instruction) based on the contents (in this example, the contents of the Z flag) is performed. In this way, if the process Z that does not refer to the contents of the flag register and the process V that refers to the contents of the flag register are continued, the relationship between the change in the contents of the flag register and the flow of program execution may be complicated. In some cases, it is difficult to analyze a program, and an unauthorized program can be prevented from being analyzed.
さらに、この例では、処理ZでLD命令(ロード命令)を実行しているが、LD命令は命令の実行後にZフラグを変化させずにSZフラグを変化させる命令の一つであるため、「LD A、(HL)」命令の実行後にはZフラグは変化しないが、SZフラグが変化する。一方、その後の処理Vでは「JR Z、ITmrRnwCtL040」を実行しているが、ここでは、処理Zの「LD A、(HL)」命令の実行によって変化していないZフラグを参照して分岐処理を行っている。 Furthermore, in this example, the LD instruction (load instruction) is executed in the process Z. However, since the LD instruction is one of the instructions that changes the SZ flag without changing the Z flag after the instruction is executed, “ After execution of the “LD A, (HL)” instruction, the Z flag does not change, but the SZ flag changes. On the other hand, in the subsequent process V, “JR Z, ITmrRnwCtL040” is executed. Here, the branch process is performed by referring to the Z flag that has not been changed by the execution of the “LD A, (HL)” instruction of process Z. It is carried out.
このように、SZフラグとZフラグを含む複数のフラグの値を変化させる第1の命令(例えば、CPJR命令)を実行し、当該フラグを参照しない第2の命令(例えば、DEC A命令)を実行し、ZフラグとSZフラグのうちいずれか一方のみが変化する第3の命令(例えば、LD命令)を実行し、変化しない方(変化した方)のフラグを参照する第4の命令(例えば、JR Z命令)を実行するように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。 In this way, a first instruction (for example, CPJR instruction) that changes the values of a plurality of flags including the SZ flag and the Z flag is executed, and a second instruction (for example, a DEC A instruction) that does not refer to the flag is executed. Execute a third instruction (for example, an LD instruction) in which only one of the Z flag and the SZ flag changes, and a fourth instruction (for example, refer to the flag that has not changed (changed)) , JR Z instruction), the relationship between the contents of the flag register and the flow of program execution can be complicated, making it difficult to analyze programs and analyzing illegal programs. There are cases where it can be prevented.
図45は、CPJR命令を用いた他の処理の一例を示した図である。同図に示す第一のモジュールでは、処理Xを実行した後に、CPJR命令を実行し、所定条件が成立した場合に、第一のモジュールとは異なる第二のモジュールにジャンプして処理Zを行い、所定条件が成立しなかった場合に後続の処理Yを実行している。このように、CPJR命令を用いて所定条件が成立した場合に所定の処理にジャンプするプログラムを組む場合には、同一のモジュール内の処理だけではなく、他のモジュールの処理にジャンプさせてもよい。 FIG. 45 is a diagram showing an example of another process using the CPJR instruction. In the first module shown in the figure, after executing the process X, the CPJR instruction is executed, and when the predetermined condition is satisfied, the process jumps to the second module different from the first module and performs the process Z. When the predetermined condition is not satisfied, the subsequent process Y is executed. As described above, when a program that jumps to a predetermined process when a predetermined condition is satisfied using the CPJR instruction, the program may be jumped to not only the process in the same module but also the process of another module. .
図46は、上述の処理Vを含む、CPJR命令を用いた他の処理の一例を示した図である。同図に示す第二のモジュールでは、処理Zを実行した後に、算術論理演算命令を実行し、当該命令の実行によって変化したフラグレジスタの内容γに基づいて分岐処理を行っている。このように、CPJR命令の実行によって変化したフラグレジスタに基づいた処理は行わず、CPJR命令以外の命令(この例では、算術論理演算命令)の実行によって変化したフラグレジスタに基づいた処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。
<CPRT命令を用いた処理>
FIG. 46 is a diagram showing an example of another process using the CPJR instruction including the process V described above. In the second module shown in the figure, after executing the process Z, an arithmetic logic operation instruction is executed, and a branch process is performed based on the content γ of the flag register changed by the execution of the instruction. In this way, processing based on the flag register changed by execution of the CPJR instruction is not performed, and processing based on the flag register changed by execution of an instruction other than the CPJR instruction (in this example, an arithmetic logic operation instruction) is performed. With this configuration, the relationship between the change in the contents of the flag register and the flow of program execution can be complicated, making it difficult to analyze the program and preventing unauthorized program analysis in some cases.
<Process using CPRT instruction>
次に、CPRT命令を用いた処理について説明する。図47は、CPRT命令を用いた処理の一例を示した図である。同図に示す第一のモジュールでは、CALL命令を実行して第二のモジュールを呼び出し、呼び出し先の第二のモジュールで処理Xを実行した後に、CPRT命令を実行し、所定条件が成立した場合に呼び出し元の第一のモジュールに戻って処理Zを行い、所定条件が成立しなかった場合に後続の処理Yを実行している。 Next, processing using the CPRT instruction will be described. FIG. 47 is a diagram showing an example of processing using the CPRT instruction. In the first module shown in the figure, the CALL instruction is executed to call the second module, the process X is executed in the second module of the call destination, the CPRT instruction is executed, and a predetermined condition is satisfied. Returning to the first module of the caller, the process Z is performed. If the predetermined condition is not satisfied, the subsequent process Y is executed.
ここで、「所定条件が成立した場合」とは、上述の「CPRTZ r」命令(または、「CPRTZ (rr)」命令)であれば、Zフラグが1にセットされる状態になった場合であり、上述の「CPRTNZ r」命令(または、「CPRTNZ (rr)」命令)であれば、Zフラグが0にクリアされる状態になった場合である。 Here, “when the predetermined condition is satisfied” means that the Z flag is set to 1 if the above-described “CPRTZ r” instruction (or “CPRTZ (rr)” instruction) is used. If it is the above-mentioned “CPRTNZ r” instruction (or “CPRTNZ (rr)” instruction), the Z flag is cleared to 0.
また、CPRT命令の実行前に行われる処理Xにおけるフラグレジスタの内容が第1の内容αであった場合、CPRT命令の実行により、後続の処理Y、処理Zにおけるフラグレジスタの内容は第2の内容βに変化する。しかしながら、CPRT命令の実行中にフラグレジスタを参照しないことに加えて、CPRT命令の実行後の処理Y、処理Zでも、CPRT命令によって変化したフラグレジスタの内容を一切参照することなく処理を行うように構成している。 When the contents of the flag register in the process X performed before the execution of the CPRT instruction is the first contents α, the contents of the flag register in the subsequent process Y and process Z are changed to the second contents α by executing the CPRT instruction. The content changes to β. However, in addition to not referring to the flag register during execution of the CPRT instruction, processing Y and processing Z after execution of the CPRT instruction are performed without referring to the contents of the flag register changed by the CPRT instruction. It is configured.
このように、CPRT命令の実行中にフラグレジスタを参照しないことに加えて、CPRT命令の実行によりフラグレジスタの内容を変化させる一方で、CPRT命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。 In this way, in addition to not referring to the flag register during the execution of the CPRT instruction, the contents of the flag register are changed by the execution of the CPRT instruction, while the contents of the flag register are determined in a predetermined process performed after the execution of the CPRT instruction. If the processing is performed without referring to, the relationship between the change in the contents of the flag register and the flow of the program execution can be eliminated, making the analysis of the program difficult and the analysis of the illegal program in advance. Sometimes it can be prevented.
図48(a)は、CPRT命令を用いたプログラムの一例を示した図であり、同図(b)は、従来の命令を用いたプログラムの一例である。例えば、Aレジスタの値が0であるか0以外であるかを判定し、Aレジスタの値が0の場合に所定の処理にリターン(復帰)するプログラムを組む場合、同図(b)に示す従来のプログラムでは、(1−1)に示すAND命令(AND A)と(1−2)に示すRET命令(RET Z)の2つの命令によって実現する必要があるが、同図(a)に示す本実施形態のプログラムでは、(2−1)に示す1つのCPRT命令(CPRTZ A)だけで同一の処理を実現している。 FIG. 48A shows an example of a program using a CPRT instruction, and FIG. 48B shows an example of a program using a conventional instruction. For example, when it is determined whether the value of the A register is 0 or other than 0, and a program that returns (returns) to a predetermined process when the value of the A register is 0 is shown in FIG. The conventional program needs to be realized by two instructions, ie, an AND instruction (AND A) shown in (1-1) and a RET instruction (RET Z) shown in (1-2). In the program of the present embodiment shown, the same processing is realized by only one CPRT instruction (CPRTZ A) shown in (2-1).
このように、所定条件が成立するか否かを判定し、所定条件が成立した場合に所定の処理にリターン(復帰)するプログラムを組む場合にCPRT命令を用いれば、従来よりもプログラムコードを減らすことができ、限られたメモリを有効に活用できる場合がある。 In this way, it is determined whether or not a predetermined condition is satisfied, and when a program that returns (returns) to a predetermined process when a predetermined condition is satisfied is used, a CPRT instruction is used, so that the program code is reduced as compared with the conventional case. In some cases, limited memory can be used effectively.
また、同図(a)に示す本実施形態のプログラムでは、(2−1)に示すCPRT命令(CPRTZ A)の実行後の処理Y、処理Zでは、CPRT命令によって変化したフラグレジスタの内容の一切参照することなく処理を行うように構成している。このように、CPRT命令の実行によりフラグレジスタの内容を変化させる一方で、CPRT命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。 In the program of this embodiment shown in FIG. 9A, in the processing Y and processing Z after execution of the CPRT instruction (CPRTZ A) shown in (2-1), the contents of the flag register changed by the CPRT instruction are displayed. It is configured to perform processing without referring to it at all. In this way, if the contents of the flag register are changed by execution of the CPRT instruction, while the predetermined process performed after the execution of the CPRT instruction is performed without referring to the contents of the flag register, the flag register The relationship between the change in the contents of the program and the flow of execution of the program can be eliminated, the analysis of the program is difficult, and the analysis of the illegal program can be prevented in advance.
なお、同図(a)に示す本実施形態のプログラムの処理Zに続く処理Vでは、CPRT命令の実行後に他の命令によって変化したフラグレジスタの内容に基づいた処理を行っている。このように、フラグレジスタの内容を参照しない処理Zとフラグレジスタの内容を参照する処理Vを連続させれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。
<主制御部の第3特殊命令>
In the process V following the process Z of the program of the present embodiment shown in FIG. 6A, a process based on the contents of the flag register changed by another instruction after the execution of the CPRT instruction is performed. In this way, if the process Z that does not refer to the contents of the flag register and the process V that refers to the contents of the flag register are continued, the relationship between the change in the contents of the flag register and the flow of program execution may be complicated. In some cases, it is difficult to analyze a program, and an unauthorized program can be prevented from being analyzed.
<Third special instruction of main control unit>
次に、主制御部300が備える第3特殊命令について説明する。図49は、主制御部300が備える第3特殊命令の一部を示した図である。
<第3特殊命令/RES命令>
Next, the third special instruction provided in the main control unit 300 will be described. FIG. 49 is a diagram illustrating a part of the third special instruction included in the main control unit 300.
<Third special instruction / RES instruction>
第3特殊命令の一つである「RESmZ n、r」命令(mは0〜7の数値)は、第2オペランドrで示されるレジスタに記憶されている値のうち、mで示されるビットのアクセスを禁止するとともに、第1オペランドで示されるビットn(nは、mを除く0〜7の数値)を0にリセットする命令である。また、「RESmZ n、(rr)」命令(mは0〜7の数値)は、第2オペランド(rr)で示されるペアレジスタrrに格納されたアドレスに記憶されているアドレスに格納された値のうち、mで示されるビットのアクセスを禁止するとともに、第1オペランドで示されるnビット(nは、mを除く0〜7の数値)を0にリセットする命令である。 One of the third special instructions, “RESmZ n, r” instruction (m is a numerical value of 0 to 7), of the values stored in the register indicated by the second operand r, of the bit indicated by m. This instruction prohibits access and resets the bit n (n is a numerical value of 0 to 7 excluding m) indicated by the first operand to 0. In addition, the “RESmZ n, (rr)” instruction (m is a numerical value of 0 to 7) is a value stored at the address stored in the address stored in the pair register rr indicated by the second operand (rr). In this instruction, access to the bit indicated by m is prohibited, and n bits (n is a numerical value of 0 to 7 excluding m) indicated by the first operand are reset to 0.
例えば、図50(a)に示すように、「RES2Z 2、L」命令は、第2オペランドLで示されるLレジスタに記憶されている値のうち、mで示されるビット(この例では、ビット2)のアクセスを禁止するとともに、第1オペランドで示されるビット2を0にリセットする命令であり、この命令ではLレジスタのビット2は0にリセットされない。一方、同図(b)に示すように、「RES2Z 4、L」命令は、第2オペランドLで示されるLレジスタに記憶されている値のうち、mで示されるビット(この例では、ビット2)のアクセスを禁止するとともに、第1オペランドで示されるビット4を0にリセットする命令であり、この命令では、Lレジスタのビット2のアクセスは禁止されるがビット4は0にリセットされる。 For example, as shown in FIG. 50 (a), the “RES2Z 2, L” instruction has a bit (in this example, a bit) indicated by m among values stored in the L register indicated by the second operand L. 2) is an instruction for prohibiting access and resetting bit 2 indicated by the first operand to 0. In this instruction, bit 2 of the L register is not reset to 0. On the other hand, as shown in FIG. 5B, the “RES2Z 4, L” instruction is a bit indicated by m (in this example, bit bit) among the values stored in the L register indicated by the second operand L. 2) is an instruction that prohibits access and resets bit 4 indicated by the first operand to 0. In this instruction, access to bit 2 of the L register is prohibited, but bit 4 is reset to 0. .
また、図51(a)に示すように、「RES2Z 2、(HL)」命令は、第2オペランド(HL)で示されるペアレジスタHLに記憶されているアドレス(この例では、F010H)に格納された値のうち、mで示されるビット(この例では、ビット2)のアクセスを禁止するとともに、第1オペランドで示されるビット2を0にリセットする命令であり、この命令では、F010Hに格納されている値のビット2は0にリセットされない。一方、同図(b)に示すように、「RES2Z 4、(HL)」命令は、第2オペランド(HL)で示されるペアレジスタHLに記憶されているアドレス(この例では、F010H)に格納された値のうち、mで示されるビット(この例では、ビット2)のアクセスを禁止するとともに、第1オペランドで示されるビット4を0にリセットする命令であり、この命令では、F010Hに格納されている値のビット2のアクセスは禁止されるがビット4が0にリセットされる。 Further, as shown in FIG. 51A, the “RES2Z 2, (HL)” instruction is stored in the address (F010H in this example) stored in the pair register HL indicated by the second operand (HL). Among these values, this is an instruction that prohibits access to the bit indicated by m (bit 2 in this example) and resets bit 2 indicated by the first operand to 0. In this instruction, the instruction is stored in F010H. Bit 2 of the value being set is not reset to zero. On the other hand, as shown in FIG. 5B, the “RES2Z 4, (HL)” instruction is stored in the address (F010H in this example) stored in the pair register HL indicated by the second operand (HL). Among these values, this is an instruction that prohibits access to the bit indicated by m (bit 2 in this example) and resets bit 4 indicated by the first operand to 0. In this instruction, the instruction is stored in F010H. Access to bit 2 of the current value is prohibited, but bit 4 is reset to 0.
このようなRES命令によれば、所定のビットのアクセスを禁止しつつ、同時に他のビットを0にリセットすることができるため、所定のビットの数値を保護することができ、所定のビットが予期しない数値に変化して不具合を起こすような事態を未然に防止できる場合がある。 According to such a RES instruction, access to a predetermined bit can be prohibited and other bits can be reset to 0 at the same time. Therefore, the numerical value of the predetermined bit can be protected, and the predetermined bit can be expected. In some cases, it is possible to prevent a situation in which a malfunction occurs due to a change to a numerical value that does not occur.
図52は、主制御部300の命令マップのうち、RES命令に該当する部分を抜き出して示した図である。上述のとおり、「RES2Z 2、L」命令と「RES2Z 2、(HL)」命令は、ビット2のアクセスが禁止されビット2がリセットできない命令であるため(実質的に意味の無い命令であるため)、同図の太線の四角で示すように、「RES2Z 2、L」命令に該当する25Hの部分と、「RES2Z 2、(HL)」命令に該当する26Hの部分は空き領域とされている。このように、命令マップの一部に空き領域を設けることによって、命令マップを使ったプログラム(機械語)の解析を困難にすることができる場合がある。
<RES命令の変形例1>
FIG. 52 is a diagram showing an extracted part corresponding to the RES instruction in the instruction map of the main control unit 300. As described above, the “RES2Z 2, L” instruction and the “RES2Z 2, (HL)” instruction are instructions that access to bit 2 is prohibited and bit 2 cannot be reset (because they are substantially meaningless instructions). ), As indicated by the thick-lined square in the figure, the 25H portion corresponding to the “RES2Z 2, L” instruction and the 26H portion corresponding to the “RES2Z 2, (HL)” instruction are free areas. . Thus, by providing an empty area in a part of the instruction map, it may be difficult to analyze a program (machine language) using the instruction map.
<Modification 1 of RES instruction>
図53は、変形例1に係るRES命令を示した図である。RES命令の変形である「RESmZ n、r」命令(mは1〜254の10進数の数値)は、第2オペランドrで示されるレジスタに記憶されている値のうち、10進数のmを1バイトの2進数に変換したときに1がセットされるビットのアクセスを禁止するとともに、第1オペランドで示されるビットn(nは、mを1バイトの2進数に変換したときに1がセットされないビット)を0にリセットする命令である。また、「RESmZ n、(rr)」命令(mは1〜254の10進数の数値)は、第2オペランドrrで示されるペアレジスタに記憶されているアドレスに格納された値のうち、10進数のmを1バイトの2進数に変換したときに1がセットされるビットのアクセスを禁止するとともに、第1オペランドで示されるnビット(nは、mを2進数に変換したときに1がセットされないビット番号)を0にリセットする命令である。 FIG. 53 is a diagram showing a RES instruction according to the first modification. A “RESmZ n, r” instruction (m is a decimal number from 1 to 254), which is a modification of the RES instruction, has a decimal number m of 1 among the values stored in the register indicated by the second operand r. Access to a bit that is set to 1 when converted to a binary number of bytes is prohibited, and bit n (n is not set to 1 when m is converted to a binary number of 1 byte) Bit) is reset to 0. The “RESmZ n, (rr)” instruction (m is a decimal number from 1 to 254) is a decimal number among the values stored in the address stored in the pair register indicated by the second operand rr. Access to bits that are set to 1 when m is converted to a 1-byte binary number and n bits (n is set when m is converted to a binary number) indicated by the first operand This is an instruction to reset the bit number (not yet) to 0.
例えば、図54(a)に示すように、「RES2Z 4、L」命令は、第2オペランドLで示されるレジスタLに記憶されている値のうち、10進数の2を1バイトの2進数に変換したときに1がセットされるビット(この例では、ビット1)のアクセスを禁止するとともに、第1オペランドで示されるビット4を0にリセットする命令である。また、同図(b)に示すように、「RES3Z 4、L」命令は、第2オペランドLで示されるレジスタLに記憶されている値のうち、10進数の3を1バイトの2進数に変換したときに1がセットされるビット(この例では、ビット1、ビット0)のアクセスを禁止するとともに、第1オペランドで示されるビット4を0にリセットする命令である。 For example, as shown in FIG. 54 (a), the “RES2Z 4, L” instruction converts a decimal number 2 from a value stored in the register L indicated by the second operand L to a 1-byte binary number. This instruction prohibits access to a bit that is set to 1 (bit 1 in this example) when converted, and resets bit 4 indicated by the first operand to 0. Also, as shown in FIG. 5B, the “RES3Z 4, L” instruction converts the decimal number 3 from the value stored in the register L indicated by the second operand L to a 1-byte binary number. This is an instruction that prohibits access to bits set to 1 when converted (bit 1 and bit 0 in this example) and resets bit 4 indicated by the first operand to 0.
図55は、変形例1に係るRES命令を用いたプログラムの一例を示した図である。上述のとおり、「RESmZ n、(rr)」命令(mは1〜254の10進数の数値)は、第2オペランド(rr)で示されるペアレジスタrrに記憶されているアドレスに格納された値のうち、10進数のmを1バイトの2進数に変換したときに1がセットされるビットのアクセスを禁止するとともに、第1オペランドで示されるnビット(nは、mを2進数に変換したときに1がセットされないビット番号)を0にリセットする命令である。 FIG. 55 is a diagram showing an example of a program using the RES instruction according to the first modification. As described above, the “RESmZ n, (rr)” instruction (m is a decimal number from 1 to 254) is a value stored at the address stored in the pair register rr indicated by the second operand (rr). Among them, access to a bit set to 1 when a decimal number m is converted to a 1-byte binary number is prohibited, and n bits (n is a value converted to a binary number) indicated by the first operand This is a command for resetting the bit number (sometimes 1 is not set) to 0.
したがって、同図の(3−1)に示す「RES251Z 2(=ebCS20pnSGt)、(HL)」命令は、第2オペランド(HL)で示されるペアレジスタHLに記憶されているアドレス(この例では、F096H(=v0ptCS2))に格納された値のうち、10進数の251を1バイトの2進数に変換したときに1がセットされるビット(この例では、ビット0〜1、3〜7)のアクセスを禁止するとともに、第1オペランドで示されるビット(この例では、ビット2)を0にリセットする命令である。 Accordingly, the “RES251Z 2 (= ebCS20pnSGt), (HL)” instruction shown in (3-1) in the figure is an address stored in the pair register HL indicated by the second operand (HL) (in this example, Of the values stored in F096H (= v0ptCS2)), bits that are set to 1 when the decimal number 251 is converted into a 1-byte binary number (in this example, bits 0 to 1, 3 to 7) This instruction prohibits access and resets the bit (bit 2 in this example) indicated by the first operand to 0.
このようなRES命令によれば、所定のビットのアクセスを禁止しつつ、同時に他のビットを0にリセットすることができるため、所定のビットの数値を保護することができ、従来のビット操作命令(例えば、CLR命令、SET命令、RES命令、BIT命令など)のように、コーディングミスなどによって所定のビットが予期しない数値に変更されてしまうような事態を未然に防止でき、デバックやテストの作業を短縮化でき、また、安定した遊技制御を行うことができる場合がある。また、アクセスを禁止するビットを10進数の数値で指定することができるため、プログラムの解析を困難にすることができる場合がある。
<RES命令の変形例2>
According to such a RES instruction, while prohibiting access to a predetermined bit, other bits can be reset to 0 at the same time, so that the numerical value of the predetermined bit can be protected. (For example, CLR instruction, SET instruction, RES instruction, BIT instruction, etc.) It is possible to prevent a situation in which a predetermined bit is changed to an unexpected numerical value due to a coding error or the like, and debugging or test work can be prevented. May be shortened, and stable game control may be performed. In addition, since the bit for which access is prohibited can be designated by a decimal number, analysis of the program may be difficult.
<Modification 2 of RES instruction>
図56は、変形例2に係るRES命令を示した図である。RES命令の変形である「RESmZ n、r」命令(mは0〜7の数値)は、第2オペランドrで示されるレジスタを含むペアレジスタに記憶されている値のうち、mで示されるビットのアクセスを禁止するとともに、第1オペランドで示されるビットn(nは、mを除く0〜8の数値)を0にリセットする命令である。また、「RESmZ n、(rr)」命令(mは0〜7の数値)は、第2オペランド(rr)で示されるペアレジスタrrに記憶されているアドレスと、このアドレスに連続するアドレスに格納された2バイト長の値のうち、mで示されるビットのアクセスを禁止するとともに、第1オペランドで示されるビットn(nは、mを除く0〜8の数値)を0にリセットする命令である。 FIG. 56 is a diagram showing a RES instruction according to the second modification. A “RESmZ n, r” instruction (m is a numerical value of 0 to 7), which is a modification of the RES instruction, is a bit indicated by m among the values stored in the pair register including the register indicated by the second operand r. And the bit n (n is a numerical value of 0 to 8 excluding m) indicated by the first operand is reset to 0. In addition, the “RESmZ n, (rr)” instruction (m is a numerical value of 0 to 7) is stored in an address stored in the pair register rr indicated by the second operand (rr) and an address consecutive to this address. An instruction that prohibits access to the bit indicated by m in the 2-byte length value and resets the bit n indicated by the first operand (where n is a numerical value of 0 to 8 excluding m) to 0. is there.
例えば、図57に示すように、「RES2Z 8、L」命令は、第2オペランドLで示されるレジスタLを含むペアレジスタHLに記憶されている値のうち、2で示されるビット(ビット2)のアクセスを禁止するとともに、第1オペランドで示されるビット8(この例では、HLレジスタの上位バイトであるHレジスタのビット0)を0にリセットする命令である。 For example, as shown in FIG. 57, the “RES2Z 8, L” instruction is a bit (bit 2) indicated by 2 among the values stored in the pair register HL including the register L indicated by the second operand L. Is an instruction that resets bit 8 (in this example, bit 0 of the H register, which is the upper byte of the HL register) indicated by the first operand to 0.
また、図58に示すように、「RES2Z 8、(HL)」命令は、第2オペランド(HL)で示されるペアレジスタHLに記憶されているアドレス(この例では、F010H)と、このアドレスに連続するアドレス(この例では、F011H)に格納された2バイト長の値のうち、2で示されるビット(ビット2)のアクセスを禁止するとともに、第1オペランドで示されるビット8(この例では、F010Hに連続するF011Hに格納された値のビット0値)を0にリセットする命令である。 Further, as shown in FIG. 58, the “RES2Z 8, (HL)” instruction includes an address (F010H in this example) stored in the pair register HL indicated by the second operand (HL), and this address. Of the 2-byte length values stored in successive addresses (F011H in this example), access to the bit indicated by 2 (bit 2) is prohibited, and bit 8 indicated by the first operand (in this example) , Bit 0 value of the value stored in F011H consecutive to F010H) is reset to 0.
図59は、主制御部300の命令マップのうち、変形例2に係るRES命令に該当する部分を抜き出して示した図である。上述のとおり、「RES2Z 2、L」命令と「RES2Z 2、(HL)」命令は、ビット2のアクセスが禁止されビット2がリセットできない命令であるため、同図に太線の四角で示すように、これらの命令に替えて、「RES2Z 8、L」命令と「RES2Z 8、(HL)」命令を割り当てている。このように、命令マップの一部の並び順を不規則にすることによって、プログラム(機械語)の解析を困難にすることができる場合がある。
<RES命令の他の変形例>
FIG. 59 is a diagram showing a portion corresponding to the RES instruction according to the second modification extracted from the instruction map of the main control unit 300. As described above, the “RES2Z 2, L” instruction and the “RES2Z 2, (HL)” instruction are instructions in which access to bit 2 is prohibited and bit 2 cannot be reset. Instead of these instructions, a “RES2Z 8, L” instruction and a “RES2Z 8, (HL)” instruction are assigned. Thus, by making the order of arrangement of a part of the instruction map irregular, it may be difficult to analyze the program (machine language).
<Other Modifications of RES Instruction>
図60は、RES命令の他の変形例を示した図である。例えば、同図(a)に示すRES命令では、上述の変形例1の「RESmZ n、r」命令または「RESmZ n、(rr)」命令(mは1〜254の10進数の数値)において、数値mに0が指定できるように変更し、0を指定した場合には全てのビットのアクセスを許可するように構成している。また、同図(b)に示すRES命令では、上述の変形例1の「RESmZ n、r」命令または「RESmZ n、(rr)」命令(mは1〜254の10進数の数値)において、数値mの指定が省略できるように変更し、指定を省略した場合には全てのビットのアクセスを許可するように構成している。 FIG. 60 shows another modification of the RES instruction. For example, in the RES instruction shown in FIG. 5A, in the “RESmZ n, r” instruction or “RESmZ n, (rr)” instruction (m is a decimal number from 1 to 254) in the above-described modification example 1, The numerical value m is changed so that 0 can be designated. When 0 is designated, access to all bits is permitted. In the RES instruction shown in FIG. 5B, in the “RESmZ n, r” instruction or the “RESmZ n, (rr)” instruction (m is a decimal number from 1 to 254) in the above-described modification 1, The numerical value m is changed so that the specification can be omitted. When the specification is omitted, access to all bits is permitted.
図61(a)は、所定ビットのアクセスを禁止しないRES命令を備えた場合の命令マップと、所定ビットのアクセスを禁止するRES命令を備えた場合の命令マップを示した図である。このように、所定ビットのアクセスを禁止しないRES命令を備えた場合と、所定ビットのアクセスを禁止するRES命令を備えた場合で命令マップの一部の並び順を変更することによって、プログラム(機械語)の解析を困難にすることができる場合がある。 FIG. 61A shows an instruction map when an RES instruction that does not prohibit access of a predetermined bit is provided, and an instruction map when an RES instruction that prohibits access of a predetermined bit is provided. As described above, the program (machine) is changed by changing the order of arrangement of a part of the instruction map between the case where the RES instruction which does not prohibit the access of the predetermined bit is provided and the case where the RES instruction which prohibits the access of the predetermined bit is provided. Word) may be difficult to analyze.
また、同図(b)は、RES命令の第1オペランドの数値の大小と、RES命令の命令マップの並び順を異ならせた例を示した図である。このように、RES命令の第1オペランドの数値が8→1→2→3→4→5→6→7と不規則に並ぶようにRES命令を命令マップに割り当てることによって、プログラム(機械語)の解析を困難にすることができる場合がある。
<ユーザプログラムの具体例>
FIG. 5B is a diagram showing an example in which the numerical order of the first operand of the RES instruction is different from the arrangement order of the instruction map of the RES instruction. Thus, by assigning the RES instruction to the instruction map so that the numerical values of the first operand of the RES instruction are irregularly arranged as 8 → 1 → 2 → 3 → 4 → 5 → 6 → 7, the program (machine language) May be difficult to analyze.
<Specific examples of user programs>
次に、上述のユーザプログラムの具体例について説明する。上述のとおり、主制御部300のCPU304がユーザモードに移行すると、ROM領域の第一領域の先頭アドレスである0000H以降に記憶された命令が順次、実行されてユーザプログラムが開始される。 Next, a specific example of the above user program will be described. As described above, when the CPU 304 of the main control unit 300 shifts to the user mode, instructions stored after 0000H, which is the first address of the first area of the ROM area, are sequentially executed to start the user program.
図62(a)は、ユーザプログラムの一部であるプログラム起動設定処理の一例を示した図であり、同図(b)は、ユーザプログラムの一部である電源投入時設定処理の一例を示した図である。同図に示すユーザプログラムでは、最初にプログラム起動設定処理(アドレス0000H〜0005Hに記憶された命令)が実行されることによって、スタックポインタや割込みモードの設定が行われ、その後に電源投入時設定処理(アドレス0062H)にジャンプするように構成されている。電源投入時処理では、アドレス0062H以降に記憶された命令が順次、実行されることによって、WDTへの動作許可及び初期値の設定や、電源電圧の監視処理が行われる。 FIG. 62A is a diagram showing an example of a program start setting process that is a part of the user program, and FIG. 62B shows an example of a power-on setting process that is a part of the user program. It is a figure. In the user program shown in the figure, a program start setting process (instructions stored at addresses 0000H to 0005H) is first executed to set a stack pointer and an interrupt mode, and then a power-on setting process. It is configured to jump to (address 0062H). In the power-on process, instructions stored after the address 0062H are sequentially executed, thereby permitting operation to the WDT, setting an initial value, and monitoring the power supply voltage.
図63は、上述の主制御部タイマ割込処理に相当するユーザプログラムの一部を示した図である。主制御部300の基本回路302は、カウンタタイマ312からタイマ割込信号が入力された場合に、同図に示すような割込みベクトルテーブルを参照し、割込みベクトルテーブルに定義されたアドレスにジャンプするように構成されており、この例では、タイマ割込みに対応して定義されたアドレス040AHにジャンプするように構成されている。主制御部タイマ割込処理では、アドレス040AH以降に記憶された命令が順次、実行されることによって、レジスタの退避や、同図(1)〜(18)に示す各種処理が、この順番で行われる。
<主制御部の第4特殊命令>
FIG. 63 is a diagram showing a part of a user program corresponding to the above-described main control unit timer interrupt process. When a timer interrupt signal is input from the counter timer 312, the basic circuit 302 of the main control unit 300 refers to the interrupt vector table as shown in the figure and jumps to the address defined in the interrupt vector table. In this example, the program jumps to an address 040AH defined corresponding to the timer interrupt. In the main control unit timer interrupt processing, the instructions stored after the address 040AH are sequentially executed, so that register saving and various processes shown in FIGS. Is called.
<Fourth special instruction of main controller>
次に、主制御部300が備える第4特殊命令について説明する。図64は、主制御部300が備える第4特殊命令の内容と、主制御部300のROM領域を示した図である。
<第4特殊命令/RST命令>
Next, the fourth special instruction included in the main control unit 300 will be described. FIG. 64 is a diagram showing the contents of the fourth special instruction provided in the main control unit 300 and the ROM area of the main control unit 300.
<4th special instruction / RST instruction>
第4特殊命令の一つである「RST」命令は、固定のアドレスをプログラムカウンタPCに設定することによって、固定のアドレスにジャンプするための命令である。 The “RST” instruction, which is one of the fourth special instructions, is an instruction for jumping to a fixed address by setting a fixed address in the program counter PC.
本実施形態では、プログラムカウンタPCにストアされるアドレスが異なる8種類のRST命令を備えており、RST命令の命令データは、5ビットの命令コード(オペコード)と、3ビットのオペランドによって構成されている。具体的には、命令データC8H〜F8Hの7種類のRST命令のビット7〜6、2〜0の5ビットは、RST命令の命令コード(オペコード)を、それ以外のビット5〜3の3ビット(太線で囲まれた部分)は、オペランドとして、各々のRST命令の実行によって分岐することが可能なジャンプ先のアドレスの一部(この例では、ジャンプ先のアドレスのビット5〜3を示す。アドレスのビット2〜0は0固定)を示している。 In this embodiment, eight types of RST instructions having different addresses stored in the program counter PC are provided, and the instruction data of the RST instruction is composed of a 5-bit instruction code (opcode) and a 3-bit operand. Yes. Specifically, the 7 bits of 7 types of RST instructions of instruction data C8H to F8H, 5 bits of 2 to 0 are the 3 bits of the RST instruction's instruction code (opcode) and the other 5 to 3 bits. (A portion surrounded by a bold line) indicates a part of a jump destination address (in this example, bits 5 to 3) that can be branched by executing each RST instruction as an operand. Address bits 2 to 0 are fixed to 0).
例えば、命令データC8HのRST命令のビット5〜3は、001Bであるため、ジャンプ先のアドレスのビット5〜3が001Bで、ビット2〜0が0(固定)、すなわち0008Hであることを示しており、命令データD0HのRST命令のビット5〜3は010Bであるため、ジャンプ先のアドレスのビット5〜3が010Bで、ビット2〜0が0(固定)、すなわち0010Hであることを示している。また、その他のRST命令のジャンプ先のアドレスは図に示す通りである。 For example, since bits 5 to 3 of the RST instruction of the instruction data C8H are 001B, bits 5 to 3 of the jump destination address are 001B and bits 2 to 0 are 0 (fixed), that is, 0008H. Since the bits 5 to 3 of the RST instruction of the instruction data D0H are 010B, it indicates that bits 5 to 3 of the jump destination address are 010B and bits 2 to 0 are 0 (fixed), that is, 0010H. ing. Further, jump destination addresses of other RST instructions are as shown in the figure.
一方、命令データC0HのRST命令のビット7〜6、2〜0の5ビットは、RST命令の命令コード(オペランド)を示しており、それ以外のビット5〜3の3ビット(太線で囲まれた部分)は、このRST命令の実行によって分岐することが可能なジャンプ先のアドレス(この例では、ビット5〜3に格納される数値000Bからは予測が不可能な0040H)を示している。すなわち、この命令データC0HのRST命令では、仮に機械語に基づいてオペコードやオペランドを解析できたとしても、当該RST命令の実行によって分岐することが可能なジャンプ先のアドレスを解析することが極めて困難とされている。 On the other hand, bits 7-6 and 2-0 of the RST instruction of the instruction data C0H indicate the instruction code (operand) of the RST instruction, and other 3 bits (enclosed by bold lines) of bits 5-3. Indicates a jump destination address that can be branched by executing this RST instruction (in this example, 0040H that cannot be predicted from the numerical value 000B stored in bits 5 to 3). That is, in the RST instruction of the instruction data C0H, even if the operation code and the operand can be analyzed based on the machine language, it is extremely difficult to analyze the jump destination address that can be branched by executing the RST instruction. It is said that.
また、これらのRST命令の命令データは、上述の通り、5ビットの命令コード(オペコード)と3ビットのオペランドによって構成されているため、ユーザはオペランドを自由に設定することができず(RST命令によって分岐することが可能なジャンプ先のアドレスを自由に設定することができず)、上述の8種類のRST命令によって分岐することが可能なジャンプ先のアドレスを選択することだけが許されている。 Since the instruction data of these RST instructions is composed of a 5-bit instruction code (opcode) and a 3-bit operand as described above, the user cannot freely set the operand (RST instruction). The jump destination address that can be branched by the RST instruction cannot be freely set), and it is only allowed to select the jump destination address that can be branched by the eight types of RST instructions described above. .
なお、この例では、命令データにオペランドを含めることによって、当該命令によって分岐することが可能なジャンプ先のアドレスを規制する例を示したが、命令データにオペランドを含めなくてもよい。例えば、「RST 0040H」のように、オペコード(RST)とオペランド(0040H)を別々に構成した上で、指定可能なアドレス以外のアドレス(例えば、0000H)がオペランドとして設定された場合にアセンブルエラーにして機械語に変換できないように構成するなど、設定可能なオペランドを制限してもよい。また、命令データにオペランドを含む構成を採用した場合でも、指定可能なアドレス以外のアドレスがオペランドとして設定された場合にアセンブルエラーにして機械語に変換できないように構成するなど、設定可能なオペランドを制限してもよい。 In this example, by including an operand in the instruction data, the jump destination address that can be branched by the instruction is controlled. However, the instruction data may not include the operand. For example, when an opcode (RST) and an operand (0040H) are configured separately as in “RST 0040H” and an address other than a specifiable address (for example, 0000H) is set as an operand, an assembly error is generated. The operands that can be set may be limited, for example, such that it cannot be converted into machine language. In addition, even when a configuration that includes operands in the instruction data is adopted, configurable operands such as an assembly error that cannot be converted into machine language when an address other than a specifiable address is set as an operand. You may restrict.
すなわち、本実施形態に係るRST命令では8種類のアドレス(0008H、0010H、0018H、0020H、0028H、0030H、0038H、0040H)だけにジャンプすることが可能となっており、例えば、RST命令によってROM領域の第一領域の先頭アドレス0000Hにジャンプすることができないように構成されている。このため、不正プログラムを組み込んで先頭アドレスにジャンプさせる(ユーザプログラムを先頭アドレスから開始させて不正に初期状態とする)ような行為を未然に防止できる場合がある。 That is, in the RST instruction according to the present embodiment, it is possible to jump to only eight types of addresses (0008H, 0010H, 0018H, 0020H, 0028H, 0030H, 0038H, 0040H). The first area of the first area cannot be jumped to 0000H. For this reason, there is a case where an act of incorporating an illegal program and jumping to the start address (starting the user program from the start address and making it an initial state illegally) can be prevented in advance.
また、命令データC0HのRST命令では、命令データには含まれない数値である0040Hをジャンプ先のアドレスとしているため、逆アセンブルなどによってジャンプ先のアドレスやプログラムの流れを特定することが極めて困難で、不正なプログラム改造を未然に防止できる場合がある。また、RST命令では、図65の命令マップに示すように、命令コードの順番を昇順(C0H→C8H→…)に設定しているのに対して、ジャンプ先のアドレスの順番(0040H→0008H→…)を昇順にはしないように構成しているため、命令の分析を行うことが極めて困難で、不正なプログラム改造を未然に防止できる場合がある。
<実施形態2>
In the RST instruction of the instruction data C0H, the numerical value 0040H that is not included in the instruction data is used as the jump destination address. Therefore, it is extremely difficult to specify the jump destination address and the program flow by disassembly or the like. In some cases, unauthorized program modifications can be prevented. In the RST instruction, as shown in the instruction map of FIG. 65, the instruction code order is set in ascending order (C0H → C8H →...), While the jump destination address order (0040H → 0008H → ...) are not arranged in ascending order, it is extremely difficult to analyze instructions, and unauthorized program modification may be prevented in advance.
<Embodiment 2>
以下、図面を用いて、本発明の実施形態2に係る遊技台(スロットマシン1100)について詳細に説明する。
<全体構成>
Hereinafter, the gaming machine (slot machine 1100) according to Embodiment 2 of the present invention will be described in detail with reference to the drawings.
<Overall configuration>
まず、図66を用いて、本発明の実施形態2に係るスロットマシン1100の全体構成について説明する。なお、同図はスロットマシン1100を正面側(遊技者側)から見た外観斜視図である。 First, the overall configuration of the slot machine 1100 according to the second embodiment of the present invention will be described with reference to FIG. This figure is an external perspective view of the slot machine 1100 as seen from the front side (player side).
同図に示すスロットマシン1100は、本体1101と、本体1101の正面に取り付けられ、本体1101に対して開閉可能な前面扉1102と、を備える。本体1101の中央内部には、(図示省略)外周面に複数種類の図柄が配置されたリールが3個(左リール1110、中リール1111、右リール1112)収納され、スロットマシン1100の内部で回転できるように構成されている。これらのリール1110乃至1112はステッピングモータ等の駆動装置により回転駆動される。 A slot machine 1100 shown in the figure includes a main body 1101 and a front door 1102 that is attached to the front surface of the main body 1101 and can be opened and closed with respect to the main body 1101. Inside the center of the main body 1101 (not shown), three reels (left reel 1110, middle reel 1111 and right reel 1112) having a plurality of types of symbols arranged on the outer peripheral surface are stored and rotated inside the slot machine 1100. It is configured to be able to. These reels 1110 to 1112 are rotationally driven by a driving device such as a stepping motor.
本実施形態において、各図柄は帯状部材に等間隔で適当数印刷され、この帯状部材が所定の円形筒状の枠材に貼り付けられて各リール1110乃至1112が構成されている。リール1110乃至1112上の図柄は、遊技者から見ると、図柄表示窓1113から縦方向に概ね3つ表示され、合計9つの図柄が見えるようになっている。そして、各リール1110乃至1112を回転させることにより、遊技者から見える図柄の組み合せが変動することとなる。つまり、各リール1110乃至1112は複数種類の図柄の組合せを変動可能に表示する表示装置として機能する。なお、このような表示装置としてはリール以外にも液晶表示装置等の電子画像表示装置も採用できる。また、本実施形態では、3個のリールをスロットマシン1100の中央内部に備えているが、リールの数やリールの設置位置はこれに限定されるものではない。 In the present embodiment, an appropriate number of symbols are printed on the belt-like member at equal intervals, and the reels 1110 to 1112 are configured by attaching the belt-like member to a predetermined circular cylindrical frame member. When viewed from the player, the symbols on the reels 1110 to 1112 are generally displayed in the vertical direction from the symbol display window 1113 so that a total of nine symbols can be seen. Then, by rotating the reels 1110 to 1112, the combination of symbols that can be seen by the player varies. That is, each of the reels 1110 to 1112 functions as a display device that displays a plurality of combinations of symbols in a variable manner. In addition to the reel, an electronic image display device such as a liquid crystal display device can also be used as such a display device. In this embodiment, three reels are provided in the center of the slot machine 1100. However, the number of reels and the installation position of the reels are not limited to this.
各々のリール1110乃至1112の背面には、図柄表示窓1113に表示される個々の図柄を照明するためのバックライト(図示省略)が配置されている。バックライトは、各々の図柄ごとに遮蔽されて個々の図柄を均等に照射できるようにすることが望ましい。なお、スロットマシン1100内部において各々のリール1110乃至1112の近傍には、投光部と受光部から成る光学式センサ(図示省略)が設けられており、この光学式センサの投光部と受光部の間をリールに設けられた一定の長さの遮光片が通過するように構成されている。このセンサの検出結果に基づいてリール上の図柄の回転方向の位置を判断し、目的とする図柄が入賞ライン上に表示されるようにリール1110乃至1112を停止させる。 Backlights (not shown) for illuminating individual symbols displayed on the symbol display window 1113 are arranged on the rear surfaces of the reels 1110 to 1112. It is desirable that the backlight is shielded for each symbol so that the individual symbols can be illuminated evenly. In the slot machine 1100, an optical sensor (not shown) including a light projecting unit and a light receiving unit is provided in the vicinity of each reel 1110 to 1112. The light projecting unit and the light receiving unit of this optical sensor are provided. A light shielding piece of a certain length provided on the reel passes between the two. Based on the detection result of this sensor, the position of the symbol on the reel in the rotation direction is determined, and the reels 1110 to 1112 are stopped so that the target symbol is displayed on the winning line.
入賞ライン表示ランプ1120は、有効となる入賞ライン1114を示すランプである。有効となる入賞ラインは、遊技媒体としてベットされたメダルの数によって予め定まっている。入賞ライン1114は5ラインあり、例えば、メダルが1枚ベットされた場合、中段の水平入賞ラインが有効となり、メダルが2枚ベットされた場合、上段水平入賞ラインと下段水平入賞ラインが追加された3本が有効となり、メダルが3枚ベットされた場合、右下り入賞ラインと右上り入賞ラインが追加された5ラインが入賞ラインとして有効になる。なお、入賞ライン1114の数については5ラインに限定されるものではなく、また、例えば、メダルが1枚ベットされた場合に、中段の水平入賞ライン、上段水平入賞ライン、下段水平入賞ライン、右下り入賞ラインおよび右上り入賞ラインの5ラインを有効な入賞ラインとして設定してもよく、ベット数に関係なく、一律に同一数の入賞ラインを有効な入賞ラインとして設定してもよい。 The winning line display lamp 1120 is a lamp indicating a winning line 1114 that is valid. The effective pay line is determined in advance by the number of medals bet as a game medium. There are 5 winning lines 1114. For example, when one medal is bet, the middle horizontal winning line is valid, and when two medals are betted, the upper horizontal winning line and the lower horizontal winning line are added. If three are valid and three medals are bet, five lines including a right-down winning line and an upper-right winning line are valid as winning lines. Note that the number of winning lines 1114 is not limited to five. For example, when one medal is bet, the middle horizontal winning line, the upper horizontal winning line, the lower horizontal winning line, the right The down line and the upper right line may be set as valid pay lines, and the same number of pay lines may be set as valid pay lines regardless of the number of bets.
告知ランプ1123は、例えば、後述する内部抽選において特定の入賞役(具体的には、ボーナス)に内部当選していること、または、ボーナス遊技中であることを遊技者に知らせるランプである。遊技メダル投入可能ランプ1124は、遊技者が遊技メダルを投入可能であることを知らせるためのランプである。再遊技ランプ1122は、前回の遊技において入賞役の一つである再遊技に入賞した場合に、今回の遊技が再遊技可能であること(メダルの投入が不要であること)を遊技者に知らせるランプである。リールパネルランプ1128は演出用のランプである。 The notification lamp 1123 is, for example, a lamp that informs the player that a specific winning combination (specifically, a bonus) has been won internally in an internal lottery to be described later, or that a bonus game is in progress. The game medal insertable lamp 1124 is a lamp for notifying that the player can insert a game medal. The replay lamp 1122 informs the player that the current game can be replayed (the medal insertion is unnecessary) when winning a replay that is one of the winning combinations in the previous game. It is a lamp. The reel panel lamp 1128 is an effect lamp.
ベットボタン1130乃至1132は、スロットマシン1100に電子的に貯留されているメダル(クレジットという)を所定の枚数分投入するためのボタンである。本実施形態においては、ベットボタン1130が押下される毎に1枚ずつ最大3枚まで投入され、ベットボタン1131が押下されると2枚投入され、ベットボタン1132が押下されると3枚投入されるようになっている。以下、ベットボタン1132はMAXベットボタンとも言う。なお、遊技メダル投入ランプ1129は、投入されたメダル数に応じた数のランプを点灯させ、規定枚数のメダルの投入があった場合、遊技の開始操作が可能な状態であることを知らせる遊技開始ランプ1121が点灯する。 The bet buttons 1130 to 1132 are buttons for inserting a predetermined number of medals (referred to as credits) stored electronically in the slot machine 1100. In this embodiment, every time the bet button 1130 is pressed, a maximum of three cards are inserted, two are inserted when the bet button 1131 is pressed, and three are inserted when the bet button 1132 is pressed. It has become so. Hereinafter, the bet button 1132 is also referred to as a MAX bet button. The game medal insertion lamp 1129 lights up a number of lamps corresponding to the number of inserted medals, and when a specified number of medals are inserted, a game start is informed that a game start operation is possible. The lamp 1121 is turned on.
メダル投入口1141は、遊技を開始するに当たって遊技者がメダルを投入するための投入口である。すなわち、メダルの投入は、ベットボタン1130乃至1132により電子的に投入することもできるし、メダル投入口1141から実際のメダルを投入(投入操作)することもでき、投入とは両者を含む意味である。貯留枚数表示器1125は、スロットマシン1100に電子的に貯留されているメダルの枚数を表示するための表示器である。遊技情報表示器1126は、各種の内部情報(例えば、ボーナス遊技中のメダル払出枚数)を数値で表示するための表示器である。払出枚数表示器1127は、何らかの入賞役に入賞した結果、遊技者に払出されるメダルの枚数を表示するための表示器である。貯留枚数表示器1125、遊技情報表示器1126、および、払出枚数表示器1127は、7セグメント(SEG)表示器とした。 The medal slot 1141 is an slot for a player to insert a medal when starting a game. In other words, the insertion of medals can be performed electronically by using the bet buttons 1130 to 1132, or an actual medal can be inserted (insertion operation) from the medal insertion slot 1141, and the insertion includes both. is there. The stored number display 1125 is a display for displaying the number of medals stored electronically in the slot machine 1100. The game information display 1126 is a display for displaying various types of internal information (for example, the number of medals paid out during a bonus game) as numerical values. The payout number display 1127 is a display for displaying the number of medals to be paid out to the player as a result of winning a winning combination. The stored number display 1125, the game information display 1126, and the payout number display 1127 are 7-segment (SEG) displays.
スタートレバー1135は、リール1110乃至1112の回転を開始させるためのレバー型のスイッチである。即ち、メダル投入口1141に所望するメダル枚数を投入するか、ベットボタン1130乃至1132を操作して、スタートレバー1135を操作すると、リール1110乃至1112が回転を開始することとなる。スタートレバー1135に対する操作を遊技の開始操作と言う。 The start lever 1135 is a lever type switch for starting the rotation of the reels 1110 to 1112. That is, when a desired medal number is inserted into the medal insertion slot 1141 or when the bet buttons 1130 to 1132 are operated and the start lever 1135 is operated, the reels 1110 to 1112 start to rotate. The operation on the start lever 1135 is referred to as a game start operation.
ストップボタンユニット1136には、ストップボタン1137乃至1139が設けられている。ストップボタン1137乃至1139は、スタートレバー1135の操作によって回転を開始したリール1110乃至1112を個別に停止させるためのボタン型のスイッチであり、各リール1110乃至1112に対応づけられている。以下、ストップボタン1137乃至1139に対する操作を停止操作と言い、最初の停止操作を第1停止操作、次の停止操作を第2停止操作、最後の停止操作を第3停止操作という。なお、各ストップボタン1137乃至1139の内部に発光体を設けてもよく、ストップボタン1137乃至1139の操作が可能である場合、該発光体を点灯させて遊技者に知らせることもできる。 The stop button unit 1136 is provided with stop buttons 1137 to 1139. Stop buttons 1137 to 1139 are button-type switches for individually stopping the reels 1110 to 1112 that have started rotating by operating the start lever 1135, and are associated with the reels 1110 to 1112. Hereinafter, the operation on the stop buttons 1137 to 1139 is referred to as a stop operation, the first stop operation is referred to as a first stop operation, the next stop operation is referred to as a second stop operation, and the last stop operation is referred to as a third stop operation. Note that a light emitter may be provided inside each stop button 1137 to 1139, and when the stop button 1137 to 1139 can be operated, the light emitter may be turned on to notify the player.
メダル返却ボタン1133は、投入されたメダルが詰まった場合に押下してメダルを取り除くためのボタンである。精算ボタン1134は、スロットマシン1100に電子的に貯留されたメダル、ベットされたメダルを精算し、メダル払出口1155から排出するためのボタンである。ドアキー孔1140は、スロットマシン1100の前面扉1102のロックを解除するためのキーを挿入する孔である。ストップボタンユニット1136の下部には、機種名の表示と各種証紙の貼付とを行うタイトルパネル1162が設けられている。タイトルパネル1162の下部には、メダル払出口1155、メダルの受け皿1161が設けられている。 The medal return button 1133 is a button for pressing and removing a medal when the inserted medal is clogged. The payment button 1134 is a button for adjusting the medals stored electronically in the slot machine 1100 and the bet medals and discharging them from the medal payout exit 1155. Door key hole 1140 is a hole into which a key for unlocking front door 1102 of slot machine 1100 is inserted. Below the stop button unit 1136, a title panel 1162 for displaying a model name and pasting various types of certificate stamps is provided. At the bottom of the title panel 1162, a medal payout opening 1155 and a medal tray 1161 are provided.
音孔1180はスロットマシン1100内部に設けられているスピーカの音を外部に出力するための孔である。前面扉1102の左右各部に設けられたサイドランプ1144は遊技を盛り上げるための装飾用のランプである。前面扉1102の上部には演出装置1160が配設されており、演出装置1160の上部には音孔1143が設けられている。この演出装置1160は、水平方向に開閉自在な2枚の右シャッタ1163a、左シャッタ1163bからなるシャッタ(遮蔽装置)1163と、このシャッタ1163の奥側に配設された液晶表示装置1157(演出画像表示装置)を備えており、右シャッタ1163a、左シャッタ1163bが液晶表示装置1157の手前で水平方向外側に開くと液晶表示装置1157の表示画面がスロットマシン1100正面(遊技者側)に出現する構造となっている。なお、液晶表示装置でなくとも、種々の演出画像や種々の遊技情報を表示可能な表示装置であればよく、例えば、複数セグメントディスプレイ(7セグディスプレイ)、ドットマトリクスディスプレイ、有機ELディスプレイ、プラズマディスプレイ、リール(ドラム)、或いは、プロジェクタとスクリーンとからなる表示装置等でもよい。また、表示画面は、方形をなし、その全体を遊技者が視認可能に構成している。本実施形態の場合、表示画面は長方形であるが、正方形でもよい。また、表示画面の周縁に不図示の装飾物を設けて、表示画面の周縁の一部が該装飾物に隠れる結果、表示画面が異形に見えるようにすることもできる。表示画面は本実施形態の場合、平坦面であるが、曲面をなしていてもよい。 The sound hole 1180 is a hole for outputting the sound of a speaker provided inside the slot machine 1100 to the outside. Side lamps 1144 provided at the left and right portions of the front door 1102 are decorative lamps for exciting games. An effect device 1160 is disposed above the front door 1102, and a sound hole 1143 is provided above the effect device 1160. This effect device 1160 includes a shutter (shielding device) 1163 including two right shutters 1163a and 1163b that can be opened and closed in a horizontal direction, and a liquid crystal display device 1157 (effect image) disposed on the back side of the shutter 1163. And a display screen of the liquid crystal display device 1157 appears on the front side (player side) of the slot machine 1100 when the right shutter 1163a and the left shutter 1163b are opened horizontally in front of the liquid crystal display device 1157. It has become. It should be noted that the display device is not limited to a liquid crystal display device, but may be any display device capable of displaying various effect images and various game information. For example, a multi-segment display (7-segment display), a dot matrix display, an organic EL display, a plasma display , A reel (drum), or a display device including a projector and a screen. Further, the display screen has a rectangular shape and is configured so that the player can visually recognize the entire display screen. In the case of this embodiment, the display screen is rectangular, but may be square. In addition, a decorative object (not shown) may be provided on the periphery of the display screen, and a part of the peripheral edge of the display screen may be hidden by the decorative object, so that the display screen looks irregular. In the present embodiment, the display screen is a flat surface, but may be a curved surface.
図67は、前面扉102を開けた状態のスロットマシン1100を示す正面図である。本体1101は、上面板1261、左側の側面板1260、右側の側面板1260、下面板1264および背面板1242で囲われ、前面に開口する箱体である。本体1101の内部には、背面板1242の上部に設けた通風口1249と重ならない位置に、内部に主制御基板を収納した主制御基板収納ケース1210が配置され、この主制御基板収納ケース1210の下方に、3つのリール1110乃至1112が配置されている。主制御基板収納ケース1210及びリール1110乃至1112の側方、即ち向って左側の側面板1260には、内部に副制御基板を収納した副制御基板収納ケース1220が配設してある。また、向かって右側の側面板1260には、主制御基板に接続されて、スロットマシン1100の情報を外部装置に出力する外部集中端子板1248が取り付けられている。 FIG. 67 is a front view showing the slot machine 1100 with the front door 102 opened. The main body 1101 is a box that is surrounded by an upper surface plate 1261, a left side plate 1260, a right side plate 1260, a lower surface plate 1264, and a back plate 1242 and opens to the front. Inside the main body 1101, a main control board storage case 1210 in which a main control board is stored is disposed at a position that does not overlap with the ventilation opening 1249 provided in the upper part of the back plate 1242. Below the three reels 1110 to 1112 are arranged. On the side plate 1260 on the left side of the main control board storage case 1210 and the reels 1110 to 1112, a sub control board storage case 1220 storing the sub control board is disposed. The right side plate 1260 is attached with an external concentration terminal plate 1248 that is connected to the main control board and outputs information of the slot machine 1100 to an external device.
そして、下面板1264には、メダル払出装置1180(バケットに溜まったメダルを払出す装置)が配設され、このメダル払出装置1180の上方、即ちリール1110乃至1112の下方には、電源基板を有する電源装置1252が配設され、電源装置1252正面には電源スイッチ1244を配設している。電源装置1252は、スロットマシン1100に外部から供給される交流電源を直流化し、所定の電圧に変換して後述する主制御部1300、副制御部1400、1500等の各制御部、各装置に供給する。さらには、外部からの電源が断たれた後も所定の部品(例えば主制御部1300のRAM1308等)に所定の期間(例えば10日間)電源を供給するための蓄電回路(例えばコンデンサ)を備えている。 The bottom plate 1264 is provided with a medal payout device 1180 (device for paying out medals accumulated in a bucket), and has a power supply board above the medal payout device 1180, that is, below the reels 1110 to 1112. A power supply device 1252 is provided, and a power switch 1244 is provided on the front surface of the power supply device 1252. The power supply device 1252 converts the AC power supplied from the outside to the slot machine 1100 into a direct current, converts it into a predetermined voltage, and supplies it to each control unit and each device such as a main control unit 1300 and sub-control units 1400 and 1500 described later. To do. Furthermore, a power storage circuit (for example, a capacitor) for supplying power to a predetermined part (for example, the RAM 1308 of the main control unit 1300) for a predetermined period (for example, 10 days) even after the power supply from the outside is cut off is provided. Yes.
メダル払出装置1180の右側には、メダル補助収納庫1240が配設してあり、この背後にはオーバーフロー端子が配設されている(図示省略)。電源装置1252には、電源コード1264を接続する電源コード接続部が設けられ、ここに接続された電源コード1264が、本体1101の背面板1242に開設した電源コード用穴1262を通して外部に延出している。 A medal auxiliary storage 1240 is arranged on the right side of the medal payout device 1180, and an overflow terminal is arranged behind this (not shown). The power supply device 1252 is provided with a power cord connecting portion for connecting a power cord 1264, and the power cord 1264 connected thereto extends to the outside through a power cord hole 1262 provided in the back plate 1242 of the main body 1101. Yes.
前面扉1102は、本体1101の左側の側面板1260にヒンジ装置1276を介して蝶着され、図柄表示窓1113の上部には、演出装置1160、および、この演出装置1160を制御する演出制御基板(図示省略)、上部スピーカ1272、を設けている。図柄表示窓1113の下部には、投入されたメダルを選別するためのメダルセレクタ1170、このメダルセレクタ1170が不正なメダル等をメダル受皿1161に落下させる際にメダルが通過する通路1266等を設けている。さらに、音孔1180に対応する位置には低音スピーカ1277を設けている。 The front door 1102 is hinged to the left side plate 1260 of the main body 1101 via a hinge device 1276, and an effect device 1160 and an effect control board (which controls the effect device 1160) are provided above the symbol display window 1113. An upper speaker 1272 is provided. At the bottom of the symbol display window 1113, a medal selector 1170 for selecting inserted medals, a passage 1266 through which medals pass when the medal selector 1170 drops illegal medals etc. on the medal tray 1161, etc. are provided. Yes. Further, a bass speaker 1277 is provided at a position corresponding to the sound hole 1180.
図68を用いて、スロットマシン1100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。 The circuit configuration of the control unit of the slot machine 1100 will be described in detail with reference to FIG. This figure shows a circuit block diagram of the control unit.
スロットマシン1100の制御部は、大別すると、主に遊技の進行(例えば、遊技者による操作の検出、遊技状態の遷移、遊技媒体の払出制御、当否判定など)を制御する主制御部1300と、主制御部1300が送信するコマンド信号(以下、単に「コマンド」と呼ぶ)に応じて、主に演出の制御を行う第1副制御部1400と、第1副制御部1400より送信されたコマンドに基づいて各種機器を制御する第2副制御部1500と、によって構成されている。
<主制御部>
The control unit of the slot machine 1100 can be broadly divided into a main control unit 1300 that mainly controls the progress of a game (for example, detection of an operation by a player, transition of a game state, game medium payout control, determination of success or failure, etc.) In response to a command signal transmitted from the main control unit 1300 (hereinafter simply referred to as “command”), a first sub control unit 1400 that mainly controls production and a command transmitted from the first sub control unit 1400 And a second sub-control unit 1500 that controls various devices based on the above.
<Main control unit>
まず、スロットマシン1100の主制御部1300について説明する。主制御部1300は、主制御部1300の全体を制御する基本回路1302を備えており、この基本回路1302には、CPU1304と、制御プログラムデータ、入賞役の内部抽選時に用いる抽選データ、リールの停止位置等を記憶するためのROM1306と、一時的にデータを記憶するためのRAM1308と、各種デバイスの入出力を制御するためのI/O1310と、時間や回数等を計測するためのカウンタタイマ1312と、WDT(ウォッチドックタイマ)1314を搭載している。なお、ROM1306やRAM1308については他の記憶装置を用いてもよく、この点は後述する第1副制御部1400や第2副制御部500についても同様である。この基本回路1302のCPU1304は、水晶発振器1314が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。さらには、CPU1304は、電源が投入されるとROM1306の所定エリアに格納された分周用のデータをカウンタタイマ1312に送信し、カウンタタイマ1312は受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに割り込み要求をCPU1304に送信する。CPU1304は、この割込み要求を契機に各センサ等の監視や駆動パルスの送信を実行する。例えば、水晶発振器1314が出力するクロック信号を8MHz、カウンタタイマ1312の分周値を1/256、ROM1306の分周用のデータを47に設定した場合、割り込みの基準時間は、256×47÷8MHz=1.504msとなる。 First, the main control unit 1300 of the slot machine 1100 will be described. The main control unit 1300 includes a basic circuit 1302 that controls the entire main control unit 1300. The basic circuit 1302 includes a CPU 1304, control program data, lottery data used during an internal lottery for a winning combination, and reel stop. ROM 1306 for storing position, RAM 1308 for temporarily storing data, I / O 1310 for controlling input / output of various devices, counter timer 1312 for measuring time, frequency, etc. WDT (watchdog timer) 1314 is mounted. Note that another storage device may be used for the ROM 1306 and the RAM 1308, and this is the same for the first sub-control unit 1400 and the second sub-control unit 500 described later. The CPU 1304 of the basic circuit 1302 operates by inputting a clock signal of a predetermined period output from the crystal oscillator 1314 as a system clock. Further, when the power is turned on, the CPU 1304 transmits the frequency division data stored in the predetermined area of the ROM 1306 to the counter timer 1312. The counter timer 1312 sets the interrupt time based on the received frequency division data. An interrupt request is transmitted to the CPU 1304 at every interrupt time. In response to this interrupt request, the CPU 1304 executes monitoring of each sensor and transmission of drive pulses. For example, when the clock signal output from the crystal oscillator 1314 is set to 8 MHz, the frequency division value of the counter timer 1312 is set to 1/256, and the data for frequency division in the ROM 1306 is set to 47, the interrupt reference time is 256 × 47 ÷ 8 MHz. = 1.504 ms.
主制御部1300は、0〜65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用している乱数発生回路1316と、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路1338を備えており、CPU1304は、この起動信号出力回路1338から起動信号が入力された場合に、遊技制御を開始する(後述する主制御部メイン処理を開始する)。 The main control unit 1300 includes a random number generation circuit 1316 that is used as a hardware random number counter that fluctuates a numerical value in the range of 0 to 65535, and an activation signal output circuit that outputs an activation signal (reset signal) when the power is turned on. The CPU 1304 starts game control when a start signal is input from the start signal output circuit 1338 (starts main processing main processing described later).
また、主制御部1300には、センサ回路1320を備えており、CPU1304は、割り込み時間ごとに各種センサ1318(ベットボタン1130センサ、ベットボタン1131センサ、ベットボタン1132センサ、メダル投入口1141から投入されたメダルのメダル受付センサ、スタートレバー1135センサ、ストップボタン1137センサ、ストップボタン1138センサ、ストップボタン1139センサ、精算ボタン1134センサ、メダル払出装置1180から払い出されるメダルのメダル払出センサ、リール1110のインデックスセンサ、リール1111のインデックスセンサ、リール1112のインデックスセンサ、等)の状態を監視している。 Further, the main control unit 1300 includes a sensor circuit 1320, and the CPU 1304 is inserted from various sensors 1318 (a bet button 1130 sensor, a bet button 1131 sensor, a bet button 1132 sensor, and a medal slot 1141 at every interruption time. Medal reception sensor, start lever 1135 sensor, stop button 1137 sensor, stop button 1138 sensor, stop button 1139 sensor, checkout button 1134 sensor, medal payout sensor for medals paid out from the medal payout device 1180, index sensor for reel 1110 , The index sensor of the reel 1111, the index sensor of the reel 1112, etc.).
なお、センサ回路1320がスタートレバーセンサのHレベルを検出した場合には、この検出を示す信号を乱数発生回路1316に出力する。この信号を受信した乱数発生回路1316は、そのタイミングにおける値をラッチし、抽選に使用する乱数値を格納するレジスタに記憶する。 When the sensor circuit 1320 detects the H level of the start lever sensor, a signal indicating this detection is output to the random number generation circuit 1316. The random number generation circuit 1316 that has received this signal latches the value at that timing and stores it in a register that stores the random number value used for the lottery.
メダル受付センサは、メダル投入口1141の内部通路に2個設置されており、メダルの通過有無を検出する。スタートレバー1135センサは、スタートレバー1135内部に2個設置されており、遊技者によるスタート操作を検出する。ストップボタン1137センサ、ストップボタン1138センサ、および、ストップボタン1139は、各々のストップボタン1137乃至1139に設置されており、遊技者によるストップボタンの操作を検出する。 Two medal acceptance sensors are installed in the internal passage of the medal insertion slot 1141 and detect whether or not a medal has passed. Two start lever 1135 sensors are installed inside the start lever 1135 and detect a start operation by the player. The stop button 1137 sensor, the stop button 1138 sensor, and the stop button 1139 are installed in each of the stop buttons 1137 to 1139, and detect the operation of the stop button by the player.
ベットボタン1130センサ、ベットボタン1131センサ、および、ベットボタン1132センサは、メダル投入ボタン1130乃至1132のそれぞれに設置されており、RAM1308に電子的に貯留されているメダルを遊技への投入メダルとして投入する場合の投入操作を検出する。精算ボタン1134センサは、精算ボタン1134に設けられている。精算ボタン1134が一回押されると、電子的に貯留されているメダルを精算する。メダル払出センサは、メダル払出装置1180が払い出すメダルを検出するためのセンサである。なお、以上の各センサは、非接触式のセンサであっても接点式のセンサであってもよい。 The bet button 1130 sensor, the bet button 1131 sensor, and the bet button 1132 sensor are installed in each of the medal insertion buttons 1130 to 1132, and the medal electronically stored in the RAM 1308 is inserted as an inserted medal into the game. Detecting the input operation when The settlement button 1134 sensor is provided on the settlement button 1134. When the settlement button 1134 is pressed once, medals stored electronically are settled. The medal payout sensor is a sensor for detecting a medal paid out by the medal payout device 1180. Each of the above sensors may be a non-contact type sensor or a contact type sensor.
リール1110のインデックスセンサ、リール1111のインデックスセンサ、および、リール1112のインデックスセンサは、各リール1110乃至1112の取付台の所定位置に設置されており、リールフレームに設けた遮光片が通過するたびにLレベルになる。CPU1304は、この信号を検出すると、リールが1回転したものと判断し、リールの回転位置情報をゼロにリセットする。 The index sensor of the reel 1110, the index sensor of the reel 1111, and the index sensor of the reel 1112 are installed at predetermined positions on the mounting bases of the reels 1110 to 1112, and each time a light shielding piece provided on the reel frame passes. Becomes L level. When detecting this signal, the CPU 1304 determines that the reel has made one rotation, and resets the reel rotation position information to zero.
主制御部1300は、リール装置1110乃至1112に設けたステッピングモータを駆動する駆動回路1322、投入されたメダルを選別するメダルセレクタ1170に設けたソレノイドを駆動する駆動回路1324、メダル払出装置1180に設けたモータを駆動する駆動回路1326、各種ランプ1338(入賞ライン表示ランプ1120、告知ランプ1123、遊技メダル投入可能ランプ1124、再遊技ランプ1122、遊技メダル投入ランプ1129は、遊技開始ランプ1121、貯留枚数表示器1125、遊技情報表示器1126、払出枚数表示器1127)を駆動する駆動回路1328を備えている。 The main control unit 1300 is provided in a drive circuit 1322 for driving a stepping motor provided in the reel devices 1110 to 1112, a drive circuit 1324 for driving a solenoid provided in a medal selector 1170 for selecting inserted medals, and a medal payout device 1180. A drive circuit 1326 for driving the motor, various lamps 1338 (a winning line display lamp 1120, a notification lamp 1123, a game medal insertion enable lamp 1124, a re-game lamp 1122, a game medal insertion lamp 1129, a game start lamp 1121, and a stored number display. A driving circuit 1328 for driving a device 1125, a game information display 1126, and a payout amount display 1127).
また、基本回路1302には、情報出力回路1334(外部集中端子板1248)を接続しており、主制御部1300は、この情報出力回路1334を介して、外部のホールコンピュータ(図示省略)等が備える情報入力回路1652にスロットマシン1100の遊技情報(例えば、遊技状態)を出力する。 In addition, an information output circuit 1334 (external concentration terminal board 1248) is connected to the basic circuit 1302, and the main controller 1300 is connected to an external hall computer (not shown) or the like via the information output circuit 1334. The gaming information (for example, gaming state) of the slot machine 1100 is output to the information input circuit 1652 provided.
また、主制御部1300は、電源管理部(図示しない)から主制御部1300に供給している電源の電圧値を監視する電圧監視回路1330を備えており、電圧監視回路1330は、電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を基本回路1302に出力する。 The main control unit 1300 includes a voltage monitoring circuit 1330 that monitors the voltage value of the power supplied from the power management unit (not shown) to the main control unit 1300, and the voltage monitoring circuit 1330 includes the voltage of the power supply. When the value is less than a predetermined value (9 v in this embodiment), a low voltage signal indicating that the voltage has decreased is output to the basic circuit 1302.
また、主制御部1300は、第1副制御部1400にコマンドを送信するための出力インタフェースを備えており、第1副制御部1400との通信を可能としている。なお、主制御部1300と第1副制御部1400との情報通信は一方向の通信であり、主制御部1300は第1副制御部1400にコマンド等の信号を送信できるように構成しているが、第1副制御部1400からは主制御部1300にコマンド等の信号を送信できないように構成している。
<副制御部>
The main control unit 1300 includes an output interface for transmitting a command to the first sub control unit 1400 and enables communication with the first sub control unit 1400. Information communication between the main control unit 1300 and the first sub control unit 1400 is one-way communication, and the main control unit 1300 is configured to transmit a signal such as a command to the first sub control unit 1400. However, the first sub-control unit 1400 is configured not to transmit a signal such as a command to the main control unit 1300.
<Sub control unit>
次に、スロットマシン1100の第1副制御部1400について説明する。第1副制御部1400は、主制御部1300が送信した制御コマンドを入力インタフェースを介して受信し、この制御コマンドに基づいて第1副制御部1400の全体を制御する基本回路1402を備えており、この基本回路1402は、CPU1404と、一時的にデータを記憶するためのRAM1408と、各種デバイスの入出力を制御するためのI/O1410と、時間や回数等を計測するためのカウンタタイマ1412を搭載している。基本回路1402のCPU1404は、水晶発振器1414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。ROM406は、第1副制御部1400の全体を制御するための制御プログラム及びデータ、バックライトの点灯パターンや各種表示器を制御するためのデータ等を記憶する。 Next, the first sub control unit 1400 of the slot machine 1100 will be described. The first sub control unit 1400 includes a basic circuit 1402 that receives a control command transmitted from the main control unit 1300 via an input interface and controls the entire first sub control unit 1400 based on the control command. The basic circuit 1402 includes a CPU 1404, a RAM 1408 for temporarily storing data, an I / O 1410 for controlling input / output of various devices, and a counter timer 1412 for measuring time and frequency. It is installed. The CPU 1404 of the basic circuit 1402 operates by inputting a clock signal of a predetermined period output from the crystal oscillator 1414 as a system clock. The ROM 406 stores a control program and data for controlling the entire first sub-control unit 1400, a backlight lighting pattern, data for controlling various displays, and the like.
CPU1404は、所定のタイミングでデータバスを介してROM1406の所定エリアに格納された分周用のデータをカウンタタイマ1412に送信する。カウンタタイマ1412は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに割り込み要求をCPU1404に送信する。CPU1404は、この割込み要求のタイミングをもとに、各ICや各回路を制御する。 The CPU 1404 transmits the frequency dividing data stored in the predetermined area of the ROM 1406 to the counter timer 1412 via the data bus at a predetermined timing. The counter timer 1412 determines an interrupt time based on the received frequency division data, and transmits an interrupt request to the CPU 1404 at each interrupt time. The CPU 1404 controls each IC and each circuit based on the interrupt request timing.
また、第1副制御部1400には、音源IC1418を設けており、音源IC1418に出力インタフェースを介してスピーカ1272、1277を設けている。音源IC1418は、CPU1404からの命令に応じてアンプおよびスピーカ1272、1277から出力する音声の制御を行う。音源IC1418には音声データが記憶されたS−ROM(サウンドROM)が接続されており、このROMから取得した音声データをアンプで増幅させてスピーカ1272、1277から出力する。 The first sub-control unit 1400 is provided with a sound source IC 1418, and the sound source IC 1418 is provided with speakers 1272 and 1277 via an output interface. The sound source IC 1418 controls sound output from the amplifiers and speakers 1272 and 1277 in accordance with a command from the CPU 1404. The sound source IC 1418 is connected to an S-ROM (sound ROM) in which sound data is stored. The sound data acquired from the ROM is amplified by an amplifier and output from the speakers 1272 and 1277.
また、第1副制御部1400には、駆動回路1422が設けられ、駆動回路1422に入出力インタフェースを介して各種ランプ1420(上部ランプ、下部ランプ、サイドランプ1144、タイトルパネル1162ランプ、等)が接続されている。 The first sub-control unit 1400 is provided with a drive circuit 1422, and various lamps 1420 (upper lamp, lower lamp, side lamp 1144, title panel 1162 lamp, etc.) are connected to the drive circuit 1422 through an input / output interface. It is connected.
また、CPU1404は、出力インタフェースを介して第2副制御部1500へ信号の送受信を行う。第2副制御部1500は、演出画像表示装置1157の表示制御を含む演出装置1160の各種制御を行う。なお、第2副制御部1500は、例えば、液晶表示装置1157の表示の制御を行う制御部、各種演出用駆動装置の制御を行う制御部(例えば、シャッタ1163のモータ駆動を制御する制御部)とするなど、複数の制御部で構成するようにしてもよい。 The CPU 1404 transmits and receives signals to the second sub control unit 1500 via the output interface. Second sub-control unit 1500 performs various controls of effect device 1160 including display control of effect image display device 1157. Note that the second sub-control unit 1500 is, for example, a control unit that controls display of the liquid crystal display device 1157 and a control unit that controls various driving devices for effects (for example, a control unit that controls the motor drive of the shutter 1163). For example, a plurality of control units may be used.
第2副制御部1500は、第1副制御部1400が送信した制御コマンドを入力インタフェースを介して受信し、この制御コマンドに基づいて第2副制御部1500の全体を制御する基本回路1502を備えており、この基本回路1502は、CPU1504と、一時的にデータを記憶するためのRAM1508と、各種デバイスの入出力を制御するためのI/O1510と、時間や回数等を計測するためのカウンタタイマ1512と、を搭載している。基本回路1502のCPU1504は、水晶発振器1514が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。ROM506は、第2副制御部1500の全体を制御するための制御プログラム及びデータ、画像表示用のデータ等を記憶する。 The second sub control unit 1500 includes a basic circuit 1502 that receives the control command transmitted from the first sub control unit 1400 via the input interface and controls the entire second sub control unit 1500 based on the control command. The basic circuit 1502 includes a CPU 1504, a RAM 1508 for temporarily storing data, an I / O 1510 for controlling input / output of various devices, and a counter timer for measuring time and frequency 1512. The CPU 1504 of the basic circuit 1502 operates by inputting a clock signal of a predetermined period output from the crystal oscillator 1514 as a system clock. The ROM 506 stores a control program and data for controlling the entire second sub control unit 1500, data for image display, and the like.
CPU1504は、所定のタイミングでデータバスを介してROM1506の所定エリアに格納された分周用のデータをカウンタタイマ1512に送信する。カウンタタイマ1512は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに割り込み要求をCPU1404に送信する。CPU1504は、この割込み要求のタイミングをもとに、各ICや各回路を制御する。 The CPU 1504 transmits the frequency dividing data stored in the predetermined area of the ROM 1506 to the counter timer 1512 via the data bus at a predetermined timing. The counter timer 1512 determines an interrupt time based on the received frequency division data, and transmits an interrupt request to the CPU 1404 at each interrupt time. The CPU 1504 controls each IC and each circuit based on the interrupt request timing.
また、第2副制御部1500には、シャッタ1163のモータを駆動する駆動回路1530を設けており、駆動回路1530には出力インタフェースを介してシャッタ1163を設けている。この駆動回路1530は、CPU1504からの命令に応じてシャッタ1163に設けたステッピングモータ(図示省略)に駆動信号を出力する。 The second sub control unit 1500 is provided with a drive circuit 1530 for driving the motor of the shutter 1163, and the drive circuit 1530 is provided with a shutter 1163 via an output interface. The drive circuit 1530 outputs a drive signal to a stepping motor (not shown) provided in the shutter 1163 in response to a command from the CPU 1504.
また、第2副制御部1500には、センサ回路1532を設けており、センサ回路1532には入力インタフェースを介してシャッタセンサ1538を接続している。CPU1504は、割り込み時間ごとにシャッタセンサ1538状態を監視している。 The second sub-control unit 1500 is provided with a sensor circuit 1532, and a shutter sensor 1538 is connected to the sensor circuit 1532 via an input interface. The CPU 1504 monitors the state of the shutter sensor 1538 every interruption time.
また、第2副制御部1500には、VDP1534(ビデオ・ディスプレイ・プロセッサー)を設けており、このVDP1534には、バスを介してROM1506、VRAM1536が接続されている。VDP1534は、CPU1504からの信号に基づいてROM1506に記憶された画像データ等を読み出し、VRAM1536のワークエリアを使用して表示画像を生成し、演出画像表示装置1157に画像を表示する。
<図柄配列>
The second sub control unit 1500 is provided with a VDP 1534 (video display processor), and a ROM 1506 and a VRAM 1536 are connected to the VDP 1534 through a bus. The VDP 1534 reads out image data and the like stored in the ROM 1506 based on a signal from the CPU 1504, generates a display image using the work area of the VRAM 1536, and displays the image on the effect image display device 1157.
<Pattern arrangement>
次に、図69(a)を用いて、上述の各リール1110乃至1112に施される図柄配列について説明する。なお、同図は、各リール(左リール1110、中リール1111、右リール1112)に施される図柄の配列を平面的に展開して示した図である。 Next, the symbol arrangement applied to each of the reels 1110 to 1112 will be described with reference to FIG. This figure is a diagram in which the arrangement of symbols applied to each reel (left reel 1110, middle reel 1111, right reel 1112) is developed in a plane.
各リール1110乃至1112には、同図の右側に示す複数種類(本実施形態では8種類)の図柄が所定コマ数(本実施形態では、番号0〜20の21コマ)だけ配置されている。また、同図の左端に示した番号0〜20は、各リール1110乃至1112上の図柄の配置位置を示す番号である。例えば、本実施形態では、左リール1110の番号1のコマには「リプレイ」の図柄、中リール1111の番号0のコマには「ベル」の図柄、右リール1112の番号2のコマには「スイカ」の図柄、がそれぞれ配置されている。
<入賞役の種類>
In each reel 1110 to 1112, a plurality of types (eight types in the present embodiment) of symbols shown on the right side of the same figure are arranged by a predetermined number of frames (21 frames of numbers 0 to 20 in the present embodiment). Also, numbers 0 to 20 shown at the left end of the figure are numbers indicating the arrangement positions of symbols on the reels 1110 to 1112. For example, in the present embodiment, the “Replay” symbol is assigned to the number 1 frame on the left reel 1110, the “Bell” symbol is assigned to the number 0 frame on the middle reel 1111, and the “No. 2” symbol is assigned to the number 2 frame on the right reel 1112. "Watermelon" design is arranged respectively.
<Type of winning prize>
次に、図69(b)を用いて、スロットマシン1100の入賞役の種類について説明する。なお、同図は入賞役(作動役を含む)の種類、各入賞役に対応する図柄組合せ、各入賞役の作動または払出を示している。 Next, the types of winning combinations of the slot machine 1100 will be described with reference to FIG. This figure shows the types of winning combinations (including actuating combinations), symbol combinations corresponding to each winning combination, and the operation or payout of each winning combination.
本実施形態における入賞役のうち、ビッグボーナス(BB1、BB2)および、レギュラーボーナス(RB)はボーナス遊技に移行する役として、また、再遊技(リプレイ)は新たにメダルを投入することなく再遊技が可能となる役として、それぞれ入賞役とは区別され「作動役」と呼ばれる場合があるが、本実施形態における「入賞役」には、作動役である、ビッグボーナス、レギュラーボーナス、再遊技が含まれる。また、本実施形態における「入賞」には、メダルの配当を伴わない(メダルの払い出しを伴わない)作動役の図柄組合せが有効ライン上に表示される場合も含まれ、例えば、ビッグボーナス、レギュラーボーナス、再遊技への入賞が含まれる。 Of the winning combinations in the present embodiment, the big bonuses (BB1, BB2) and the regular bonus (RB) are used as a combination for shifting to the bonus game, and the replay (replay) is a replay without newly inserting a medal. Each winning combination is sometimes distinguished from a winning combination and sometimes called an “acting combination”. However, in the “winning combination” in this embodiment, a big bonus, a regular bonus, and a replay that are operating combinations are included. included. In addition, “winning” in the present embodiment includes a case where a symbol combination of an actuator not accompanied by a medal payout (without medal payout) is displayed on an active line, for example, a big bonus, regular Includes bonuses and replay wins.
スロットマシン1100の入賞役には、ビッグボーナス(BB1、BB2)と、レギュラーボーナス(RB)と、小役(チェリー、スイカ、ベル)と、再遊技(リプレイ)がある。なお、入賞役の種類は、これに限定されるものではなく、任意に採用できることは言うまでもない。 The winning combination of the slot machine 1100 includes a big bonus (BB1, BB2), a regular bonus (RB), a small combination (cherry, watermelon, bell), and replay (replay). Needless to say, the type of winning combination is not limited to this and can be arbitrarily adopted.
「ビッグボーナス(BB1、BB2)」(以下、単に、「BB」と称する場合がある)は、入賞により特別遊技であるビッグボーナス遊技(BB遊技)が開始される特別役(作動役)である。対応する図柄組合せは、BB1が「白7−白7−白7」、BB2が「青7−青7−青7」である。また、BB1、BB2についてはフラグ持越しを行う。すなわち、BB1、BB2に内部当選すると、これを示すフラグが立つ(主制御部1300のRAM1308の当否判定結果記憶領域に記憶される)が、その遊技においてBB1、BB2に入賞しなかったとしても、入賞するまで内部当選を示すフラグが立った状態が維持され、次遊技以降でもBB1、BB2に内部当選中となり、BB1に対応する図柄組み合わせ「白7−白7−白7」、BB2に対応する図柄組み合わせ「青7−青7−青7」が、揃って入賞する状態にある。 “Big Bonus (BB1, BB2)” (hereinafter sometimes simply referred to as “BB”) is a special combination (operating combination) in which a big bonus game (BB game), which is a special game, is started by winning a prize. . Corresponding symbol combinations are “white 7-white 7-white 7” for BB1, and “blue 7-blue 7-blue 7” for BB2. Further, flag carryover is performed for BB1 and BB2. That is, when BB1 and BB2 are internally won, a flag indicating this is set (stored in the determination result storage area of the RAM 1308 of the main control unit 1300), but even if BB1 and BB2 are not won in that game, The flag indicating the internal winning is kept until winning, and the BB1 and BB2 are still in the internal winning even after the next game, and the symbol combination corresponding to BB1 "white 7-white 7-white 7", corresponds to BB2. The symbol combination “Blue 7-Blue 7-Blue 7” is in a state of winning a prize.
「レギュラーボーナス(RB)」は、入賞によりレギュラーボーナス遊技(RB遊技)が開始される特殊役(作動役)である。対応する図柄組合せは、「ボーナス−ボーナス−ボーナス」である。なお、RBについても上述のBBと同様にフラグ持越しを行う。但し、(詳細は後述するが)ビッグボーナス遊技(BB遊技)においては、レギュラーボーナス遊技(RB遊技)が内部当選することや、図柄組み合わせが入賞ライン上に表示されること、を開始条件とせずに、ビッグボーナス遊技の開始後からレギュラーボーナス遊技を開始し、1回のレギュラーボーナス遊技を終了した場合には次のレギュラーボーナス遊技をすぐに開始するような自動的にレギュラーボーナス遊技を開始させる設定としてもよい。 「小役(チェリー、スイカ、ベル)」(以下、単に、「チェリー」、「スイカ」、「ベル」と称する場合がある)は、入賞により所定数のメダルが払い出される入賞役で、対応する図柄組合せは、チェリーが「チェリー−ANY−ANY」、スイカが「スイカ−スイカ−スイカ」、ベルが「ベル−ベル−ベル」である。また、対応する払出枚数は同図に示す通りである。なお、「チェリー−ANY−ANY」の場合、左リール1110の図柄が「チェリー」であればよく、中リール1111と右リール1112の図柄はどの図柄でもよい。 The “regular bonus (RB)” is a special combination (operating combination) in which a regular bonus game (RB game) is started by winning. The corresponding symbol combination is “bonus-bonus-bonus”. Note that the RB carries over the flag as well as the above-mentioned BB. However, in the big bonus game (BB game) (details will be described later), the regular bonus game (RB game) is won internally and the combination of symbols is displayed on the winning line. In addition, the regular bonus game is started after the start of the big bonus game, and when the regular bonus game is finished once, the regular bonus game is automatically started so that the next regular bonus game is immediately started. It is good. “Short (cherry, watermelon, bell)” (hereinafter, simply referred to as “cherry”, “watermelon”, “bell”) is a winning combination in which a predetermined number of medals are paid out by winning. The symbol combinations are “cherry-ANY-ANY” for cherry, “watermelon-watermelon-watermelon” for watermelon, and “bell-bell-bell” for bell. The corresponding payout number is as shown in FIG. In the case of “cherry-ANY-ANY”, the symbol of the left reel 1110 may be “cherry”, and the symbol of the middle reel 1111 and the right reel 1112 may be any symbol.
「再遊技(リプレイ)」は、入賞により次回の遊技でメダル(遊技媒体)の投入を行うことなく遊技を行うことができる入賞役(作動役)であり、メダルの払出は行われない。なお、対応する図柄組合せは、再遊技は「リプレイ−リプレイ−リプレイ」である。
<遊技状態の種類>
“Replay” is a winning combination (operating combination) in which a game can be performed without inserting a medal (game medium) in the next game by winning, and no medal is paid out. The corresponding symbol combination is “replay-replay-replay” for replay.
<Type of gaming state>
次に、スロットマシン1100の遊技状態の種類について説明する。遊技状態とは、抽選などにおいて選択する抽選データの種別を識別するための情報である。本実施形態では、スロットマシン1100の遊技状態は、通常遊技と、BB遊技と、RB遊技と、ビッグボーナス(BB)およびレギュラーボーナス(RB)の内部当選遊技と、に大別した。但し、内部当選遊技は、通常遊技に含まれる区分けであってもよい。
<通常遊技>
Next, the types of gaming state of the slot machine 1100 will be described. The gaming state is information for identifying the type of lottery data selected in a lottery or the like. In the present embodiment, the gaming state of the slot machine 1100 is roughly divided into a normal game, a BB game, an RB game, and an internal winning game of a big bonus (BB) and a regular bonus (RB). However, the internal winning game may be a division included in the normal game.
<Normal game>
通常遊技に内部当選する入賞役には、ビッグボーナス(BB)と、レギュラーボーナス(RB)と、再遊技(リプレイ)と、小役(チェリー、スイカ、ベル)がある。 The winning combinations that are internally won for normal games include a big bonus (BB), regular bonus (RB), replay (replay), and small roles (cherry, watermelon, bell).
「ビッグボーナス(BB)」は、入賞により特別遊技であるビッグボーナス遊技(BB遊技)が開始される特別役(作動役)である。レギュラーボーナス(RB)」は、入賞によりレギュラーボーナス遊技(RB遊技)を開始する特殊役(作動役)である。「再遊技(リプレイ)」は、入賞により次回の遊技でメダルの投入を行うことなく遊技を行うことができる入賞役(作動役)であり、メダルの払出も行われない。「小役」は、入賞により所定数のメダルが払い出される入賞役である。なお、各々の役の内部当選確率は、通常遊技に用意された抽選データから、各々の役に対応付けされた抽選データの範囲に該当する数値データを、内部抽選時に取得される乱数値の範囲の数値データ(例えば65535)で除した値で求められる。通常遊技に用意された抽選データは、予めいくつかの数値範囲に分割され、各数値範囲に各々の役やハズレを対応付けしている。内部抽選を実行した結果得られた乱数値が、何れの役に対応する抽選データに対応する値であったかを判定し、内部抽選役を決定する。この抽選データは少なくとも1つの役の当選確率を異ならせた設定1〜設定6が用意され、遊技店の係員等はいずれかの設定値を任意に選択し、設定することができる。 “Big Bonus (BB)” is a special combination (operating combination) in which a big bonus game (BB game), which is a special game, is started by winning. “Regular Bonus (RB)” is a special combination (operating combination) that starts a regular bonus game (RB game) upon winning. The “replay” (replay) is a winning combination (operating combination) in which a game can be performed without a medal being inserted in the next game by winning, and no medal is paid out. The “small role” is a winning combination in which a predetermined number of medals are paid out by winning. In addition, the internal winning probability of each combination is a range of random values obtained at the time of internal lottery from numerical data corresponding to the range of lottery data associated with each combination from lottery data prepared for normal games. It is calculated by the value divided by the numerical data (for example, 65535). The lottery data prepared for the normal game is divided into several numerical ranges in advance, and each combination and lose is associated with each numerical range. It is determined whether the random number value obtained as a result of executing the internal lottery is a value corresponding to the lottery data corresponding to which combination, and the internal lottery combination is determined. This lottery data is provided with settings 1 to 6 in which the winning probabilities of at least one combination are different, and a game shop clerk can arbitrarily select and set any set value.
通常遊技は、内部抽選の結果が概ねハズレ(ビッグボーナス(BB)、レギュラーボーナス(RB)、再遊技(リプレイ)および小役に当選していない)となる設定、又は、停止表示結果がいずれの役の図柄組合せに該当しないハズレの停止表示結果が概ね導出される設定がされており、獲得するメダルの総数が、投入したメダルの総数に満たない遊技状態になっている。よって、遊技者にとっては不利益となる遊技状態である。但し、予め定めた条件を満たした場合(例えば、特定の図柄組み合わせが表示された場合)には、再遊技の内部当選の確率を上昇させる変動をさせてもよい遊技状態であり、この場合、遊技に用いられるメダルの消費が抑えられ、小役の入賞によって所定数のメダルが払い出されることにより、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態になり、遊技者にとっては利益となる遊技状態になる場合がある。
<BB遊技>
In the normal game, the internal lottery result is almost lost (big bonus (BB), regular bonus (RB), replay (replay) and small role won), or any stop display result A setting is made so that the stop display result of the losing that does not correspond to the symbol combination of the combination is generally derived, and the total number of medals to be acquired is less than the total number of inserted medals. Therefore, it is a gaming state that is disadvantageous for the player. However, when a predetermined condition is satisfied (for example, when a specific symbol combination is displayed), it is a gaming state that may be changed to increase the probability of internal winning of replaying. In this case, Consumption of medals used for games is suppressed, and a predetermined number of medals are paid out by winning a small role, resulting in a gaming state where the total number of medals exceeds the total number of medals inserted, which is beneficial to the player. May become a gaming state.
<BB game>
BB遊技は、遊技者にとっては利益となる遊技状態になるように設定されている。つまり、BB遊技は、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態となる。BB遊技は、本実施形態では、ビッグボーナス(BB)の入賞により開始され、RB遊技(後述する)を連続して繰り返し実行可能になっており、遊技中に予め定められた一の数(例えば、465枚)を超えるメダルが獲得された場合に終了する。但し、BB遊技はRB遊技を複数回数実行可能であればよく、例えば、RB遊技を開始する役(図柄組み合わせは例えば、リプレイ−リプレイ−リプレイ)を設定し、この役が内部当選した場合、または、入賞した場合に、RB遊技を開始するように設定してもよい。さらには、BB遊技は、BB遊技中のRB遊技を除くBB一般遊技を予め定めた回数(例えば、30回)実行した場合、または、BB遊技中に実行したRB遊技の回数が予め定めた回数に達した場合(例えば、3回)に終了するようにしてもよい。
<RB遊技>
The BB game is set to be in a gaming state that is beneficial to the player. That is, the BB game is in a gaming state in which the total number of medals to be acquired exceeds the total number of medals inserted. In this embodiment, the BB game is started by winning a big bonus (BB), and an RB game (described later) can be continuously executed repeatedly, and a predetermined number (for example, during the game) The process ends when more than 465 medals are obtained. However, the BB game only needs to be able to execute the RB game a plurality of times. For example, when a combination (for example, replay-replay-replay) is set for starting the RB game, and this combination is won internally, or The RB game may be set to start when winning. Furthermore, in the BB game, when the BB general game excluding the RB game during the BB game is executed a predetermined number of times (for example, 30 times), or the number of the RB games executed during the BB game is a predetermined number of times. It may be made to end when it reaches (for example, three times).
<RB game>
RB遊技は、遊技者にとっては利益となる遊技状態になるように設定されている。つまり、RB遊技は、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態となる。RB遊技は、本実施形態では、レギュラーボーナス(RB)の入賞により開始され、予め定めた一の役が内部当選の確率を上昇させる変動(例えば、「設定1」「通常遊技」に設定された「小役1」の内部当選確率1/15を、予め定めた一の値である内部当選確率1/1.2に上昇させる)をし、予め定めた一の数(例えば、8回)の入賞があった場合に終了する。RB遊技は、予め定めた回数(少なくとも2回)の入賞があった場合(例えば、8回)、または、RB遊技中に実行したRB遊技の回数が予め定めた回数に達した場合(例えば、8回)に終了するようにしてもよい。上述したBB遊技は、RB遊技を複数回数実行可能であるので、一回のRB遊技を行った場合には、BB遊技で得られるメダルの総数よりも少ないメダル数を獲得して終了することとなる。
<ビッグボーナス(BB)およびレギュラーボーナス(RB)の内部当選遊技>
The RB game is set so as to be in a gaming state that is beneficial to the player. That is, the RB game is in a gaming state in which the total number of medals to be acquired exceeds the total number of medals inserted. In this embodiment, the RB game is started by winning a regular bonus (RB), and a predetermined role is set to a variation that increases the probability of internal winning (for example, “setting 1” or “normal game”). The internal winning probability 1/15 of “small role 1” is increased to an internal winning probability 1 / 1.2, which is a predetermined value), and a predetermined number (for example, 8 times) It ends when there is a prize. In the RB game, when a predetermined number of times (at least 2 times) is won (for example, 8 times), or when the number of RB games executed during the RB game reaches a predetermined number of times (for example, (8 times). Since the BB game described above can execute the RB game a plurality of times, when a single RB game is performed, the number of medals less than the total number of medals obtained in the BB game is acquired and terminated. Become.
<Big winning (BB) and regular bonus (RB) internal winning games>
ビッグボーナス(BB)およびレギュラーボーナス(RB)の内部当選遊技に内部当選する入賞役には、再遊技(リプレイ)と、小役がある。ビッグボーナス(BB)およびレギュラーボーナス(RB)は内部当選することはなく、ビッグボーナス(BB)かレギュラーボーナス(RB)に対応する図柄組み合わせを入賞させることが可能となっている遊技状態である。 The winning combination that is internally won for the internal winning game of the big bonus (BB) and the regular bonus (RB) includes a replay and a small role. The big bonus (BB) and the regular bonus (RB) are not won internally, and are game states in which a symbol combination corresponding to the big bonus (BB) or the regular bonus (RB) can be won.
但し、ビッグボーナス(BB)およびレギュラーボーナス(RB)に内部当選した次遊技から、再遊技の内部当選の確率を変動させてもよく、例えば、再遊技の内部当選の確率を上昇させる変動をさせて、ビッグボーナス(BB)およびレギュラーボーナス(RB)対応する図柄組み合わせが入賞するまでの間は、獲得するメダルの総数が、投入したメダルの総数とほぼ同じとなる遊技状態とし、通常遊技と比べると遊技者にとっては利益となる遊技状態としてもよい。なお、BB遊技、RB遊技は両者とも遊技者にとって利益となる遊技状態であるため、総じて、ボーナス遊技、又は、特別遊技と称する場合がある。
<主制御部メイン処理>
However, the probability of the internal winning of the replay may be changed from the next game internally won in the big bonus (BB) and the regular bonus (RB). Until the symbol combination corresponding to the big bonus (BB) and regular bonus (RB) wins, the total number of medals to be acquired is almost the same as the total number of inserted medals, and is compared with the normal game. The gaming state may be beneficial to the player. It should be noted that BB game and RB game are both game states that are beneficial to the player, and may be generally referred to as bonus games or special games.
<Main control unit main processing>
次に、図70を用いて、主制御部1300のCPU1304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。 Next, main control unit main processing executed by the CPU 1304 of the main control unit 1300 will be described with reference to FIG. This figure is a flowchart showing the flow of main processing of the main control unit.
上述したように、主制御部1300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)1338を設けている。この起動信号を入力した基本回路1302のCPU1304は、リセット割込によりリセットスタートしてROM1306に予め記憶している制御プログラムに従って、この主制御部メイン処理を実行する。 As described above, the main control unit 1300 is provided with the start signal output circuit (reset signal output circuit) 1338 that outputs the start signal (reset signal) when the power is turned on. The CPU 1304 of the basic circuit 1302 to which this activation signal has been input executes a main control unit main process in accordance with a control program stored in advance in the ROM 1306 after being reset by a reset interrupt.
電源投入が行われると、まず、ステップS2101で各種の初期設定を行う。この初期設定では、CPU1304のスタックポインタ(SP)へのスタック初期値の設定、割込禁止の設定、I/O1310の初期設定、RAM1308に記憶する各種変数の初期設定、WDT1314への動作許可及び初期値の設定等を行う。ステップS2103ではメダル投入・スタート操作受付処理を実行する。ここではメダルの投入の有無をチェックし、メダルの投入に応じて入賞ライン表示ランプ1120を点灯させる。なお、前回の遊技で再遊技に入賞した場合は、前回の遊技で投入されたメダル枚数と同じ数のメダルを投入する処理を行うので、遊技者によるメダルの投入が不要となる。また、スタートレバー1135が操作されたか否かのチェックを行い、スタートレバー1135の操作があればステップS2105へ進む。 When the power is turned on, first, various initial settings are made in step S2101. In this initial setting, setting of the stack initial value to the stack pointer (SP) of the CPU 1304, setting of interrupt inhibition, initial setting of the I / O 1310, initial setting of various variables stored in the RAM 1308, operation permission to the WDT 1314, and initial setting Set the value. In step S2103, medal insertion / start operation acceptance processing is executed. Here, it is checked whether or not a medal has been inserted, and the winning line display lamp 1120 is turned on in response to the insertion of the medal. Note that when a re-win is won in the previous game, a process of inserting the same number of medals as the number of medals inserted in the previous game is performed, so that it is not necessary for the player to insert medals. Further, it is checked whether or not the start lever 1135 has been operated. If there is an operation of the start lever 1135, the process proceeds to step S2105.
ステップS2105では投入されたメダル枚数を確定し、有効な入賞ラインを確定する。ステップS2107では乱数発生回路1316で発生させた乱数を取得する。ステップS2109では、現在の遊技状態に応じてROM1306に格納されている入賞役抽選テーブルを読み出し、これとステップS2107で取得した乱数値とを用いて内部抽選を行う。内部抽選の結果、いずれかの入賞役(作動役を含む)に内部当選した場合、その入賞役のフラグがONになる。ステップS2111では内部抽選結果に基づき、リール停止データを選択する。 In step S2105, the number of inserted medals is determined, and an effective winning line is determined. In step S2107, the random number generated by the random number generation circuit 1316 is acquired. In step S2109, the winning combination lottery table stored in the ROM 1306 is read according to the current gaming state, and an internal lottery is performed using this and the random value acquired in step S2107. As a result of the internal lottery, when any winning combination (including an operating combination) is won internally, the flag of the winning combination is turned ON. In step S2111, reel stop data is selected based on the internal lottery result.
ステップS2113では全リール1110乃至1112の回転を開始させる。ステップS2115では、ストップボタン1137乃至1139の受け付けが可能になり、いずれかのストップボタンが押されると、押されたストップボタンに対応するリール1110乃至1112の何れかをステップS2111で選択したリール停止制御データに基づいて停止させる。全リール1110乃至1112が停止するとステップS2117へ進む。ステップS2117では、入賞判定を行う。ここでは、有効化された入賞ライン1114上に、何らかの入賞役に対応する図柄組合せが表示された場合にその入賞役に入賞したと判定する。例えば、有効化された入賞ライン上に「ベル−ベル−ベル」が揃っていたならばベル入賞と判定する。ステップS2119では払い出しのある何らかの入賞役に入賞していれば、その入賞役に対応する枚数のメダルを入賞ライン数に応じて払い出す。ステップS2121では遊技状態制御処理を行う。遊技状態制御処理では、通常遊技、BB遊技、RB遊技、内部当選遊技、の各遊技状態の移行に関する処理を行い、それらの開始条件、終了条件の成立により、遊技状態を移行する。以上により1ゲームが終了する。以降ステップS2103へ戻って上述した処理を繰り返すことにより遊技が進行することになる。
<主制御部1300タイマ割込処理>
In step S2113, rotation of all reels 1110 to 1112 is started. In step S2115, the stop buttons 1137 to 1139 can be received. When any one of the stop buttons is pressed, the reel stop control in which one of the reels 1110 to 1112 corresponding to the pressed stop button is selected in step S2111. Stop based on data. When all the reels 1110 to 1112 are stopped, the process proceeds to step S2117. In step S2117, a winning determination is performed. Here, when a symbol combination corresponding to some winning combination is displayed on the activated winning line 1114, it is determined that the winning combination is won. For example, if “bell-bell-bell” is aligned on the activated winning line, it is determined that the player has won the bell. In step S2119, if any winning combination with payout is won, the number of medals corresponding to the winning combination is paid out according to the number of winning lines. In step S2121, a game state control process is performed. In the game state control process, a process related to transition of each game state of normal game, BB game, RB game, and internal winning game is performed, and the game state is shifted when those start conditions and end conditions are satisfied. Thus, one game is completed. Thereafter, returning to step S2103 and repeating the above-described processing, the game proceeds.
<Main control unit 1300 timer interrupt processing>
次に、図71を用いて、主制御部1300のCPU1304が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。 Next, the main control unit timer interrupt process executed by the CPU 1304 of the main control unit 1300 will be described with reference to FIG. This figure is a flowchart showing the flow of the main control unit timer interrupt process.
主制御部1300は、所定の周期(本実施形態では約2msに1回)でタイマ割込信号を発生するカウンタタイマ1312を備えており、このタイマ割込信号を契機として主制御部タイマ割込処理を所定の周期で開始する。 The main control unit 1300 includes a counter timer 1312 that generates a timer interrupt signal at a predetermined cycle (in this embodiment, about once every 2 ms), and the main control unit timer interrupt is triggered by this timer interrupt signal. The process is started at a predetermined cycle.
ステップS2201では、タイマ割込開始処理を行う。このタイマ割込開始処理では、CPU1304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。ステップS2203では、WDT1314のカウント値が初期設定値(本実施形態では32.8ms)を超えてWDT割込が発生しないように(処理の異常を検出しないように)、WDT1314を定期的に(本実施形態では、主制御部タイマ割込の周期である約2msに1回)リスタートを行う。 In step S2201, timer interrupt start processing is performed. In this timer interrupt start process, a process of temporarily saving the value of each register of the CPU 1304 to the stack area is performed. In step S2203, the WDT 1314 is periodically updated (not to detect a processing abnormality) so that the count value of the WDT 1314 exceeds the initial setting value (32.8 ms in the present embodiment) and no WDT interruption occurs. In the embodiment, the restart is performed once every about 2 ms, which is the period of the main control unit timer interrupt.
ステップS2205では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O1310の入力ポートを介して、各種センサ1318のセンサ回路1320の検出信号を入力して検出信号の有無を監視し、RAM1308に各種センサ1318ごとに区画して設けた信号状態記憶領域に記憶する。 In step S2205, input port state update processing is performed. In this input port state update process, the detection signals of the sensor circuits 1320 of the various sensors 1318 are input via the input ports of the I / O 1310 to monitor the presence or absence of the detection signals, and each of the various sensors 1318 is partitioned in the RAM 1308. Store in the provided signal state storage area.
ステップS2207では、各種遊技処理を行う。具体的には、割込みステータスを取得し(各種センサ1318からの信号に基づいて各種割込みステータスを取得する)、このステータスに従った処理を行う(例えば、取得した各ストップボタン1137乃至1139の割込みステータスに基づいて、停止ボタン受付処理を行う)。ステップS2209では、タイマ更新処理を行う。各種タイマをそれぞれの時間単位により更新する。 In step S2207, various game processes are performed. Specifically, an interrupt status is acquired (various interrupt statuses are acquired based on signals from various sensors 1318), and processing according to this status is performed (for example, the interrupt statuses of the acquired stop buttons 1137 to 1139). Based on the stop button reception process). In step S2209, timer update processing is performed. Various timers are updated for each time unit.
ステップS2211では、コマンド設定送信処理を行い、各種のコマンドが第1副制御部1400に送信される。なお、第1副制御部1400に送信する出力予定情報は本実施形態では16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(本実施形態では、基本コマンド、スタートレバー受付コマンド、演出抽選処理に伴う演出コマンド、リール1110乃至1112の回転を開始に伴う回転開始コマンド、ストップボタン1137乃至1139の操作の受け付けに伴う停止ボタン受付コマンド、リール1110乃至1112の停止処理に伴う停止位置情報コマンド、メダル払出処理に伴う払出枚数コマンド及び払出終了コマンド、遊技状態を示すコマンド等)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成されている。第1副制御部1400では、受信した出力予定情報に含まれるコマンド種別により、主制御部1300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。 In step S2211, command setting transmission processing is performed, and various commands are transmitted to the first sub-control unit 1400. The output schedule information transmitted to the first sub-control unit 1400 is composed of 16 bits in the present embodiment, bit 15 is strobe information (indicating that data is set when ON), bit 11 -14 are command types (in this embodiment, basic command, start lever reception command, production command accompanying production lottery processing, rotation start command when rotation of reels 1110 to 1112 starts, and operation of stop buttons 1137 to 1139 are accepted. Bits 0 to 10 are command data (stop button reception command accompanying the reels 1110 to 1112, stop position information command accompanying the stop processing of the reels 1110 to 1112, payout number command and payout end command accompanying the medal payout processing, etc.) Predetermined information corresponding to the command type). The first sub-control unit 1400 can determine the effect control according to the change in the game control in the main control unit 1300 by the command type included in the received output schedule information, and is included in the output schedule information. Based on the information of the command data, the contents of effect control can be determined.
ステップS2213では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM1308に記憶している遊技情報を、情報出力回路1334を介してスロットマシン1100とは別体の情報入力回路1652に出力する。 In step S2213, external output signal setting processing is performed. In this external output signal setting process, game information stored in the RAM 1308 is output to an information input circuit 1652 that is separate from the slot machine 1100 via the information output circuit 1334.
ステップS2215では、デバイス監視処理を行う。このデバイス監視処理では、まずはステップS2205において信号状態記憶領域に記憶した各種センサ1318の信号状態を読み出して、メダル投入異常及びメダル払出異常等に関するエラーの有無を監視し、エラーを検出した場合には(図示省略)エラー処理を実行させる。さらに、現在の遊技状態に応じて、メダルセレクタ1170(メダルセレクタ1170内に設けたソレノイドが動作するメダルブロッカ)、各種ランプ1338、各種の7セグメント(SEG)表示器の設定を行う。 In step S2215, device monitoring processing is performed. In this device monitoring process, first, the signal states of the various sensors 1318 stored in the signal state storage area in step S2205 are read to monitor the presence / absence of errors related to medal insertion abnormalities and medal payout abnormalities. (Not shown) Error processing is executed. Further, according to the current gaming state, the medal selector 1170 (medal blocker in which a solenoid provided in the medal selector 1170 operates), various lamps 1338, and various 7-segment (SEG) indicators are set.
ステップS2217では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS2221に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS2219に進む。 In step S2217, it is monitored whether the low voltage signal is on. If the low voltage signal is on (when power supply shutoff is detected), the process proceeds to step S2221. If the low voltage signal is off (power supply shutoff is not detected), the process proceeds to step S2219.
ステップS2219では、タイマ割込終了処理を終了する各種処理を行う。このタイマ割込終了処理では、ステップS2201で一時的に退避した各レジスタの値を元の各レジスタに設定等行う。その後、主制御部メイン処理に復帰する。一方、ステップS2221では、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM1308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、主制御部メイン処理に復帰する。
<第1副制御部400の処理>
In step S2219, various processes for ending the timer interrupt end process are performed. In this timer interrupt end process, the value of each register temporarily saved in step S2201 is set in each original register. Then, the process returns to the main control unit main process. On the other hand, in step S2221, a specific variable or stack pointer for returning to the power-off state at the time of power recovery is saved as a return data in a predetermined area of the RAM 1308, and power-off processing such as initialization of the input / output port is performed. After that, the process returns to the main process of the main control unit.
<Processing of First Sub-Control Unit 400>
次に、図72を用いて、第1副制御部1400の処理について説明する。なお、同図(a)は、第1副制御部1400のCPU1404が実行するメイン処理のフローチャートであり、同図(b)は、第1副制御部1400のコマンド受信割込処理のフローチャートである。また、同図(c)は、第1副制御部1400のタイマ割込処理のフローチャートである。 Next, processing of the first sub control unit 1400 will be described with reference to FIG. 2A is a flowchart of the main process executed by the CPU 1404 of the first sub control unit 1400, and FIG. 2B is a flowchart of the command reception interrupt process of the first sub control unit 1400. . FIG. 10C is a flowchart of the timer interrupt process of the first sub control unit 1400.
まず、同図(a)のステップS2301では、各種の初期設定を行う。電源投入が行われると、まずステップS2301で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、RAM1408内の記憶領域の初期化処理等を行う。 First, in step S2301 in FIG. 11A, various initial settings are performed. When power is turned on, initialization processing is first executed in step S2301. In this initialization process, initial setting of input / output ports, initialization processing of a storage area in the RAM 1408, and the like are performed.
ステップS2303では、タイマ変数が10以上か否かを判定し、タイマ変数が10となるまでこの処理を繰り返し、タイマ変数が10以上となったときには、ステップS2305の処理に移行する。ステップS2305では、タイマ変数に0を代入する。ステップS2307では、コマンド処理を行う。コマンド処理では第1副制御部1400のCPU1404は、主制御部1300からコマンドを受信したか否かを判別する。 In step S2303, it is determined whether or not the timer variable is 10 or more. This process is repeated until the timer variable becomes 10, and when the timer variable becomes 10 or more, the process proceeds to step S2305. In step S2305, 0 is assigned to the timer variable. In step S2307, command processing is performed. In the command processing, the CPU 1404 of the first sub control unit 1400 determines whether a command is received from the main control unit 1300.
ステップS2309では、演出制御処理を行う。この演出制御処理では、例えば、ステップS2307で新たなコマンドがあった場合には、このコマンドに対応する処理を行う。この処理には、例えば、演出データをROM1406から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行うことが含まれる。 In step S2309, an effect control process is performed. In this effect control process, for example, when there is a new command in step S2307, a process corresponding to this command is performed. This process includes, for example, performing a process such as reading effect data from the ROM 1406, and performing an effect data update process when the effect data needs to be updated.
ステップS2311では、ステップ2309の処理結果に基づいて音制御処理を行う。例えば、ステップS2309で読み出した演出データの中に音源IC1418への命令がある場合には、この命令を音源IC1418に出力する。ステップS2313では、ステップ2309の処理結果に基づいてランプ制御処理を行う。例えば、ステップS2309で読み出した演出データの中に各種ランプ1420への命令がある場合には、この命令を駆動回路1422に出力する。 In step S2311, sound control processing is performed based on the processing result of step 2309. For example, if there is a command to the sound source IC 1418 in the effect data read out in step S2309, this command is output to the sound source IC 1418. In step S2313, lamp control processing is performed based on the processing result of step 2309. For example, if there is a command to the various lamps 1420 in the effect data read in step S2309, this command is output to the drive circuit 1422.
ステップS2315では、ステップ2309の処理結果に基づいて第2副制御部500に制御コマンドを送信する設定を行う情報出力処理を行う。例えば、ステップS2309で読み出した演出データの中に第2副制御部1500に送信する制御コマンドがある場合には、この制御コマンドを出力する設定を行い、ステップS2303へ戻る。 In step S2315, information output processing is performed to perform setting for transmitting a control command to the second sub-control unit 500 based on the processing result of step 2309. For example, if there is a control command to be transmitted to the second sub control unit 1500 in the effect data read in step S2309, the control command is set to be output, and the process returns to step S2303.
次に、同図(b)を用いて、第1副制御部1400のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第1副制御部1400が、主制御部1300が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップS2401では、主制御部1300が出力したコマンドを未処理コマンドとしてRAM1408に設けたコマンド記憶領域に記憶する。 Next, a command reception interrupt process of the first sub control unit 1400 will be described with reference to FIG. This command reception interrupt process is a process executed when the first sub control unit 1400 detects the strobe signal output from the main control unit 1300. In step S2401 of the command reception interrupt process, the command output from the main control unit 1300 is stored in the command storage area provided in the RAM 1408 as an unprocessed command.
次に、同図(c)を用いて、第1副制御部1400のCPU1404によって実行する第1副制御部タイマ割込処理について説明する。第1副制御部1400は、所定の周期(本実施形態では2msに1回)でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。 Next, the first sub control unit timer interrupt process executed by the CPU 1404 of the first sub control unit 1400 will be described with reference to FIG. The first sub-control unit 1400 includes a hardware timer that generates a timer interrupt at a predetermined cycle (in this embodiment, once every 2 ms), and this timer interrupt is used as a trigger to perform timer interrupt processing. Execute in the cycle.
ステップS2501では、第1副制御部メイン処理におけるステップS2303において説明したRAM1408のタイマ変数記憶領域の値に、1を加算して元のタイマ変数記憶領域に記憶する。従って、ステップS2303において、タイマ変数の値が10以上と判定されるのは20ms毎(2ms×10)となる。ステップS2503では、ステップS2315で設定された第2副制御部1500への制御コマンドの送信や、演出用乱数値の更新処理等を行う。
<第2副制御部500の処理>
In step S2501, 1 is added to the value of the timer variable storage area of the RAM 1408 described in step S2303 in the first sub control unit main process, and the result is stored in the original timer variable storage area. Therefore, in step S2303, the value of the timer variable is determined to be 10 or more every 20 ms (2 ms × 10). In step S2503, transmission of a control command to the second sub-control unit 1500 set in step S2315, update processing of a random number for production, and the like are performed.
<Processing of Second Sub-Control Unit 500>
次に、図73を用いて、第2副制御部1500の処理について説明する。なお、同図(a)は、第2副制御部1500のCPU1504が実行するメイン処理のフローチャートであり、同図(b)は、第2副制御部1500のコマンド受信割込処理のフローチャートである。また、同図(c)は、第2副制御部1500のタイマ割込処理のフローチャートであり、同図(d)は、第2副制御部1500の画像制御処理のフローチャートである。 Next, processing of the second sub control unit 1500 will be described with reference to FIG. 2A is a flowchart of the main process executed by the CPU 1504 of the second secondary control unit 1500, and FIG. 2B is a flowchart of the command reception interrupt process of the second secondary control unit 1500. . FIG. 6C is a flowchart of the timer interrupt process of the second sub control unit 1500, and FIG. 4D is a flowchart of the image control process of the second sub control unit 1500.
まず、同図(a)のステップS2601では、各種の初期設定を行う。電源投入が行われると、まずステップS2601で初期化処理が実行される。この初期化処理では、入出力ポート初期設定や、RAM1508内の記憶領域の初期化処理等を行う。 First, in step S2601 in FIG. 9A, various initial settings are performed. When power is turned on, initialization processing is first executed in step S2601. In this initialization process, input / output port initialization, storage area initialization in the RAM 1508, and the like are performed.
ステップS2603では、タイマ変数が10以上か否かを判定し、タイマ変数が10となるまでこの処理を繰り返し、タイマ変数が10以上となったときには、ステップS2605の処理に移行する。ステップS2605では、タイマ変数に0を代入する。 In step S2603, it is determined whether or not the timer variable is 10 or more, and this process is repeated until the timer variable becomes 10. When the timer variable becomes 10 or more, the process proceeds to step S2605. In step S2605, 0 is assigned to the timer variable.
ステップS2607では、コマンド処理を行う。コマンド処理では第2副制御部1500のCPU1504は、第1副制御部1400のCPU1404からコマンドを受信したか否かを判別する。 In step S2607, command processing is performed. In the command processing, the CPU 1504 of the second sub control unit 1500 determines whether a command is received from the CPU 1404 of the first sub control unit 1400.
ステップS2609では、演出制御処理を行う。この演出制御処理では、例えば、ステップS2607で新たなコマンドがあった場合には、このコマンドに対応する処理を行う。この処理には、例えば、演出データをROM1506から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行うことが含まれる。 In step S2609, an effect control process is performed. In this effect control process, for example, when there is a new command in step S2607, a process corresponding to this command is performed. This process includes, for example, performing a process such as reading effect data from the ROM 1506 and performing an effect data update process when the effect data needs to be updated.
ステップS2611では、ステップS2609の処理結果に基づいてシャッタ制御処理を行う。例えば、ステップS2609で読み出した演出データの中にシャッタ制御の命令がある場合には、この命令に対応するシャッタ制御を行う。ステップS2613では、ステップS2609の処理結果に基づいて画像制御処理を行う。例えば、ステップS2609読み出した演出データの中に画像制御の命令がある場合には、この命令に対応する画像制御を行い(詳細は後述する)、ステップS2603へ戻る。 In step S2611, shutter control processing is performed based on the processing result of step S2609. For example, if there is a shutter control command in the effect data read in step S2609, shutter control corresponding to this command is performed. In step S2613, image control processing is performed based on the processing result of step S2609. For example, if there is an image control command in the effect data read in step S2609, image control corresponding to this command is performed (details will be described later), and the flow returns to step S2603.
次に、同図(b)を用いて、第2副制御部1500のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第2副制御部1500が、第1副制御部1400が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップS2701では、第1副制御部1400が出力したコマンドを未処理コマンドとしてRAM1508に設けたコマンド記憶領域に記憶する。 Next, the command reception interrupt process of the second sub control unit 1500 will be described with reference to FIG. This command reception interrupt process is a process executed when the second sub control unit 1500 detects a strobe signal output from the first sub control unit 1400. In step S2701 of the command reception interrupt process, the command output from the first sub control unit 1400 is stored in the command storage area provided in the RAM 1508 as an unprocessed command.
次に、同図(c)を用いて、第2副制御部1500のCPU1504によって実行する第2副制御部タイマ割込処理について説明する。第2副制御部1500は、所定の周期(本実施形態では2msに1回)でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。 Next, the second sub control unit timer interrupt process executed by the CPU 1504 of the second sub control unit 1500 will be described with reference to FIG. The second sub-control unit 1500 includes a hardware timer that generates a timer interrupt at a predetermined cycle (in this embodiment, once every 2 ms). Execute in the cycle.
ステップS2801では、第2副制御部メイン処理におけるステップS2603において説明したRAM1508のタイマ変数記憶領域の値に、1を加算して元のタイマ変数記憶領域に記憶する。従って、ステップS2603において、タイマ変数の値が10以上と判定されるのは20ms毎(2ms×10)となる。ステップS2803では、演出用乱数値の更新処理等を行う。 In step S2801, 1 is added to the value of the timer variable storage area of the RAM 1508 described in step S2603 in the second sub-control unit main process, and the result is stored in the original timer variable storage area. Therefore, in step S2603, the value of the timer variable is determined to be 10 or more every 20 ms (2 ms × 10). In step S2803, an effect random number update process is performed.
次に、同図(d)を用いて、第2副制御部1500のメイン処理におけるステップS2613の画像制御処理について説明する。同図は、画像制御処理の流れを示すフローチャートを示した図である。 Next, the image control process in step S2613 in the main process of the second sub-control unit 1500 will be described with reference to FIG. FIG. 5 is a flowchart showing the flow of image control processing.
ステップS2901では、画像データの転送指示を行う。ここでは、CPU1504は、まず、VRAM1536の表示領域Aと表示領域Bの描画領域の指定をスワップする。これにより、描画領域に指定されていない表示領域に記憶された1フレームの画像が演出画像表示装置1157に表示される。次に、CPU1504は、VDP1534のアトリビュートレジスタに、位置情報等テーブルに基づいてROM座標(ROM1506の転送元アドレス)、VRAM座標(VRAM1536の転送先アドレス)などを設定した後、ROM1506からVRAM1536への画像データの転送開始を指示する命令を設定する。VDP1534は、アトリビュートレジスタに設定された命令に基づいて画像データをROM1506からVRAM1536に転送する。その後、VDP1534は、転送終了割込信号をCPU1504に対して出力する。 In step S2901, an image data transfer instruction is issued. Here, the CPU 1504 first swaps the designation of the display areas A and B in the VRAM 1536. As a result, the one-frame image stored in the display area not designated as the drawing area is displayed on the effect image display device 1157. Next, the CPU 1504 sets the ROM coordinates (transfer source address of the ROM 1506), VRAM coordinates (transfer destination address of the VRAM 1536) and the like in the attribute register of the VDP 1534 based on the position information table, and then the image from the ROM 1506 to the VRAM 1536. Set an instruction to start data transfer. The VDP 1534 transfers image data from the ROM 1506 to the VRAM 1536 based on the command set in the attribute register. Thereafter, the VDP 1534 outputs a transfer end interrupt signal to the CPU 1504.
ステップS2903では、VDP1534からの転送終了割込信号が入力されたか否かを判定し、転送終了割込信号が入力された場合はステップS2905に進み、そうでない場合は転送終了割込信号が入力されるのを待つ。ステップS2905では、演出シナリオ構成テーブルおよびアトリビュートデータなどに基づいて、パラメータ設定を行う。ここでは、CPU1504は、ステップS2901でVRAM1536に転送した画像データに基づいてVRAM1536の表示領域AまたはBに表示画像を形成するために、表示画像を構成する画像データの情報(VRAM1536の座標軸、画像サイズ、VRAM座標(配置座標)など)をVDP1534に指示する。VDP1534はアトリビュートレジスタに格納された命令に基づいてアトリビュートに従ったパラメータ設定を行う。 In step S2903, it is determined whether or not a transfer end interrupt signal from VDP 1534 is input. If a transfer end interrupt signal is input, the process proceeds to step S2905. If not, a transfer end interrupt signal is input. Wait for it. In step S2905, parameters are set based on the production scenario configuration table and attribute data. Here, in order to form a display image in the display area A or B of the VRAM 1536 based on the image data transferred to the VRAM 1536 in step S2901, the CPU 1504 has information on the image data constituting the display image (coordinate axes and image sizes of the VRAM 1536). , VRAM coordinates (arrangement coordinates, etc.) are instructed to the VDP 1534. The VDP 1534 performs parameter setting according to the attribute based on the instruction stored in the attribute register.
ステップS2907では、描画指示を行う。この描画指示では、CPU1504は、VDP1534に画像の描画開始を指示する。VDP1534は、CPU1504の指示に従ってフレームバッファにおける画像描画を開始する。ステップS2909では、画像の描画終了に基づくVDP1534からの生成終了割込み信号が入力されたか否かを判定し、生成終了割込み信号が入力された場合はステップS2911に進み、そうでない場合は生成終了割込み信号が入力されるのを待つ。ステップS2911では、RAM1508の所定の領域に設定され、何シーンの画像を生成したかをカウントするシーン表示カウンタをインクリメント(+1)して処理を終了する。 In step S2907, a drawing instruction is performed. In this drawing instruction, the CPU 1504 instructs the VDP 1534 to start drawing an image. The VDP 1534 starts drawing an image in the frame buffer in accordance with an instruction from the CPU 1504. In step S2909, it is determined whether or not a generation end interrupt signal from the VDP 1534 based on the end of image drawing has been input. Wait for input. In step S2911, a scene display counter that is set in a predetermined area of the RAM 1508 and counts how many scene images have been generated is incremented (+1), and the process ends.
このようなスロットマシン1100の主制御部1300に対しても、次に説明する本発明の特徴点の一つ、複数、または全てを適用することができる。 One, a plurality, or all of the features of the present invention described below can be applied to the main control unit 1300 of the slot machine 1100 as well.
以上説明したように、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、遊技の進行を中心とした遊技制御を行うCPU(例えば、CPU304(またはCPU1304)を有する主制御部(例えば、主制御部300(または主制御部1300))と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部(例えば、第1副制御部400、第2副制御部500(または、第1副制御部1400、第2副制御部1500))と、を備えた遊技台であって、前記CPUは、第一レジスタ(例えば、「POP TI命令」、「PUSH TI命令」などの命令で使うことができるが、演算命令では使うことができない(演算命令によって直接、自身の値を変化させることができない)Tレジスタ)と第二レジスタ(例えば、Aレジスタ、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタ、およびこれらの裏レジスタ)を備えるとともに、前記第一レジスタに前記第二レジスタを介してデータを転送する命令(例えば「LD T,A」命令のように、TレジスタにAレジスタを介して直接、データを転送する命令)を備えず、前記第一レジスタに直値(イミディエイト値や即値ともいう)によりデータを設定する命令(例えば、「LD T,F0H」命令)を備えることを特徴とする遊技台である。 As described above, the pachinko machine 100 (or slot machine 1100) according to the present embodiment has a main control unit (e.g., CPU 304 (or CPU 1304)) having a CPU (e.g., CPU 304 (or CPU 1304)) that performs game control centering on the progress of the game. Main control unit 300 (or main control unit 1300)) and sub-control units (for example, first sub-control unit 400, second sub-control unit 500 (for example) that control the effect of the game based on the game control of the main control unit. Or a first sub-control unit 1400, a second sub-control unit 1500)), and the CPU uses a first register (eg, “POP TI command”, “PUSH TI command”, etc.) The second register can be used with the instruction but cannot be used with the operation instruction (the T register cannot directly change its value by the operation instruction). (For example, an A register, an F register, a B register, a C register, a D register, an E register, an H register, an L register, and a back register thereof) and data to the first register via the second register Instruction (for example, “LD T, A” instruction such as “LD T, A” instruction) is not provided with a direct value (immediate value or immediate value) in the first register. The game machine is provided with a command (for example, “LD T, F0H” command) for setting data.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、第一のレジスタに対して直値でデータを転送するよう構成されているので、セットしているデータを確認し易くなる場合がある。また、第一のレジスタに対して他のレジスタを介してデータを転送できないように構成されているので、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、第一レジスタは直値によるデータの転送のみが認められているため、レジスタを介したデータの転送と直値によるデータの転送の両方が認められている他のレジスタよりも相対的に使用頻度が低くなる。このため、コーディングの見直し作業や、デバッグ(例えば、Tレジスタのトレースなど)の効率を高めることが可能となる。 According to the pachinko machine 100 (or slot machine 1100) according to the present embodiment, since data is transferred to the first register as a direct value, it is easy to check the set data. There is. In addition, since data is not transferred to the first register via another register, the value of the first register cannot be changed carelessly, resulting in a coding error. There are cases where it can be reduced. In addition, since the first register is only allowed to transfer data by direct value, it is used relatively more than other registers that allow both data transfer via the register and data transfer by direct value. Less frequent. For this reason, it is possible to increase the efficiency of coding review work and debugging (for example, T register tracing).
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、CPUを有し、遊技制御を行う遊技制御手段を備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記CPUは、マイクロコンピュータに内蔵され、前記CPUは、少なくとも特定レジスタ(例えば、Tレジスタ)を備え、前記CPUは、前記特定レジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有する遊技台である。 Further, the pachinko machine 100 (or slot machine 1100) according to the present embodiment is a game machine having a CPU and game control means for performing game control, and the game machine is a pachinko machine or a slot machine. Yes, the CPU is built in a microcomputer, the CPU includes at least a specific register (for example, a T register), and the CPU receives a load instruction among the functions for setting a value in the specific register What is performed based on is a game machine having only a function of setting a value by a direct value.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、ロード命令では特定レジスタに対して直値以外にデータをセットできないので、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができ、安定した遊技制御を行うことができる。また、特定レジスタにセットしているデータをソースコード上で目視で容易に確認することができるため、コーディングの見直し作業やデバッグの効率を高めることができ、従来よりもミスの発生を大幅に減らすことができ、安定した遊技制御を行うことができる。また、特定レジスタは直値によるデータのセットのみが認められているため、レジスタを介したデータのセットと直値によるデータのセットの両方が認められている他のレジスタよりも相対的に使用頻度が低くなる。このため、コーディングの見直し作業やデバッグ(例えば、Tレジスタのトレースなど)の効率を高めることができる場合がある。 According to the pachinko machine 100 (or the slot machine 1100) according to the present embodiment, since the load instruction cannot set data other than the direct value to the specific register, the value of the specific register cannot be changed carelessly. As a result, the occurrence of coding mistakes can be reduced, and stable game control can be performed. In addition, since the data set in a specific register can be easily confirmed visually on the source code, coding review work and debugging efficiency can be improved, and the occurrence of mistakes is greatly reduced compared to the past. And stable game control can be performed. In addition, since specific registers are only allowed to set data with direct values, they are used more frequently than other registers that allow both data sets via registers and data sets with direct values. Becomes lower. For this reason, it may be possible to improve the efficiency of coding review work and debugging (for example, T register tracing).
なお、本発明は、「プログラミングの際にロード命令を用いない」ことを特徴とするものではなく、「CPUは、特定レジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有する」ため、「プログラミングの際に、特定レジスタについては直値により値をセットするロード命令しか用いることができない」ことを特徴としている。 The present invention is not characterized by “not using a load instruction at the time of programming”, but “based on the fact that the CPU receives a load instruction among the functions for setting a value in a specific register. Since it only has a function to set a value by a direct value as it is performed ", it is characterized by" only a load instruction that sets a value by a direct value can be used for a specific register during programming " .
すなわち、本発明では、プログラミングの際に、たとえ特定レジスタに他のレジスタを介して値をセットするロード命令を用いようとしても、CPU自体がそのようなロード命令を実行(理解)する機能を有していないため、通常は、アセンブラ言語を機械語にアセンブルする過程で、CPUが実行(理解)できない命令として排除され、機械語に変換できないように構成される。このため、プログラマーは、プログラミングの際に、たとえ特定レジスタに他のレジスタを介して値をセットするロード命令を用いたくても、用いることができない。なお、本明細書では、アセンブリ言語を使ってプログラミングを行う例を示しているが、機械語を使ってプログラミングを行った場合も事情は同じで、プログラマーは、プログラミングの際に、たとえ特定レジスタに他のレジスタを介して値をセットするロード命令を用いたくても、CPUが実行(理解)できない以上、当該命令を用いることができない。 In other words, the present invention has a function that the CPU itself executes (understands) such a load instruction even when an attempt is made to use a load instruction for setting a value to a specific register via another register during programming. Therefore, normally, in the process of assembling the assembler language into a machine language, it is excluded as an instruction that cannot be executed (understood) by the CPU and cannot be converted into a machine language. For this reason, a programmer cannot use a load instruction that sets a value in a specific register via another register during programming. In this specification, an example is shown in which programming is performed using assembly language. However, the situation is the same when programming is performed using machine language. Even if it is desired to use a load instruction for setting a value via another register, the instruction cannot be used unless the CPU can execute (understand) it.
このような理由により、本発明では、上述の顕著な効果を得ることができるが、従来技術では、ロード命令に関して本発明のような制約がないため、プログラマーは、プログラミングの際に、特定レジスタに他のレジスタを介して値をセットするロード命令を自由に用いることができる。「プログラミングの際にロード命令を用いるか否か(記述するか否か)は、プログラムの内容等に基づく必要に応じて当業者が適宜選択し得る事項である」ため、プログラマーは、特定レジスタに他のレジスタを介して値をセットするロード命令を用いるか否かを適宜選択することができるが、従来技術では当該命令を用いることができるという選択肢がある以上、上述の本発明特有の顕著な効果と同等の効果を確実に得ることはできない。 For this reason, in the present invention, the above-described remarkable effect can be obtained. However, in the prior art, the load instruction is not limited as in the present invention. A load instruction that sets a value via another register can be freely used. “Whether or not to use a load instruction during programming (whether or not to use it is a matter that can be appropriately selected by those skilled in the art based on the contents of the program, etc.”) Although it is possible to appropriately select whether or not to use a load instruction for setting a value via another register, the conventional technique has an option that the instruction can be used. An effect equivalent to the effect cannot be obtained with certainty.
また、仮にプログラミングの際には当該命令を用いないというルールを策定したとしても、ルールを守るか守らないかはプログラマー(人間)に依存することであり、本発明のように、特定レジスタに他のレジスタを介して値をセットするロード命令の使用を100%排除できるものでもない。 Further, even if a rule that the instruction is not used in programming is formulated, whether or not to follow the rule depends on the programmer (human), and other than the specific register as in the present invention. The use of a load instruction that sets a value via the register of 100% is not completely eliminated.
さらに、特定レジスタに他のレジスタを介して値をセットするロード命令を自由に用いることができる環境では、通常は、アセンブラ言語を機械語にアセンブルする過程で、CPUが実行(理解)できる命令として、当該命令を機械語に変換できるように構成される。このため、従来技術においては、プログラマーは、プログラミングの際に、たとえ特定レジスタに他のレジスタを介して値をセットするロード命令を用いないように注意していたとしても、アセンブラの最適化などによって当該命令に相当する機械語にアセンブルされてしまう可能性を100%排除することができない。 Furthermore, in an environment where a load instruction for setting a value to a specific register via another register can be used freely, it is usually an instruction that can be executed (understood) by the CPU in the process of assembling the assembler language into a machine language. The instruction can be converted into machine language. For this reason, in the prior art, even if a programmer is careful not to use a load instruction that sets a value to a specific register via another register during programming, the assembler is optimized. The possibility of being assembled into a machine language corresponding to the instruction cannot be completely excluded.
また、前記第二レジスタは、一の特定レジスタ(例えば、Aレジスタ)と複数の非特定レジスタ(例えば、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタ、およびこれらの裏レジスタ)で構成されており、前記CPUは、前記非特定レジスタに前記第一レジスタを介してデータを転送する命令(例えば、「LD B,T」命令のように、BレジスタにTレジスタを介してデータを転送する命令)を備えず、前記特定レジスタに前記第一レジスタを介してデータを転送する命令(例えば、「LD A,T」命令)を備えてもよい。 The second register includes one specific register (for example, A register) and a plurality of non-specific registers (for example, F register, B register, C register, D register, E register, H register, L register, and the like) And the CPU transfers the data to the non-specific register via the first register (for example, “LD B, T” instruction, T register in the B register) May be provided with an instruction (for example, “LD A, T” instruction) for transferring data to the specific register via the first register.
このような構成とすれば、第一のレジスタを他のレジスタに比べて使いにくくすることができるため、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。 With such a configuration, the first register can be made difficult to use compared to other registers, so that the value of the first register cannot be changed carelessly, resulting in a coding error. There are cases where it can be reduced.
また、前記第一レジスタおよび前記第二レジスタは、8ビット長の値を記憶可能な8ビットレジスタであり、前記非特定レジスタは、他のレジスタと合わせて16ビット長の演算が可能なレジスタの組み合わせ(例えば、BCレジスタ、DEレジスタ、HLレジスタ)を構成可能なレジスタであるが、前記第一レジスタは、他のレジスタと合わせて前記16ビット長の演算が可能なレジスタの組み合わせを構成不可能なレジスタであってもよい。 The first register and the second register are 8-bit registers capable of storing 8-bit values, and the non-specific register is a register capable of 16-bit operations in combination with other registers. A register that can form a combination (for example, a BC register, a DE register, and an HL register), but the first register cannot be combined with other registers to form a combination of registers that can perform the 16-bit operation. It may be a simple register.
このような構成とすれば、第一のレジスタを他のレジスタに比べて使いにくくすることができるため、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。なお、Tレジスタは、他のレジスタと合わせて16ビット長の演算が可能なレジスタの組み合わせを構成不可能であるが、上述の通り、「PUSH TI」命令や、「POP TI」命令では、Iレジスタと合わせて16ビット長の退避・復帰が可能である。換言すれば、Tレジスタは、演算命令のオペランドとしては利用できないが、転送命令のオペランドとしては利用することができるレジスタである。 With such a configuration, the first register can be made difficult to use compared to other registers, so that the value of the first register cannot be changed carelessly, resulting in a coding error. There are cases where it can be reduced. Note that the T register cannot be combined with any other register to allow a 16-bit operation, but as described above, the “PUSH TI” instruction or the “POP TI” instruction uses I Together with the register, it is possible to save and restore 16 bits long. In other words, the T register is a register that cannot be used as an operand of an operation instruction but can be used as an operand of a transfer instruction.
また、前記遊技制御に用いるデータを記憶する記憶手段を備え、前記記憶手段は、前記CPUが実行するプログラムを記憶するROM(例えば、ROM306(またはROM1306))と、前記CPUが前記遊技制御を行う際に用いるデータを一時記憶可能なRAM(例えば、RAM308(またはRAM1308))と、を少なくとも有し、前記CPUは、前記遊技制御を開始する前(例えば、「電源投入後、主制御部300のCPU304がユーザプログラム(制御プログラム)を実行する前」、「システムリセット後、主制御部300のCPU304がユーザプログラム(制御プログラム)を実行する前」、「セキュリティモードに移行した直後」、「セキュリティチェックの結果がOKとなってユーザモードに移行した直後」、「システムリセットによる初期化処理の期間中」など)に、前記RAMの先頭アドレスのうちの上位アドレスを示す特定の値(例えば、F0H)を、(前記プログラムによらずに、)前記第一レジスタに設定してもよい。 In addition, a storage unit that stores data used for the game control is provided, and the storage unit stores a ROM (for example, ROM 306 (or ROM 1306)) that stores a program executed by the CPU, and the CPU performs the game control. RAM (for example, RAM 308 (or RAM 1308)) that can temporarily store data used at the time, and the CPU before the game control is started (for example, “after power-on, the main control unit 300 of Before the CPU 304 executes the user program (control program) ”,“ After the system reset, before the CPU 304 of the main control unit 300 executes the user program (control program) ”,“ Immediately after shifting to the security mode ”,“ Security check ” Immediately after the result is OK and the mode is changed to the user mode "," During a period of initialization processing by stem reset, etc.), a specific value (for example, F0H) indicating the upper address of the top address of the RAM is stored in the first register (regardless of the program). It may be set.
このような構成とすれば、RAMのデータを読み書きする場合には、第一のレジスタをRAMの上位アドレスを示す値として固定することで、RAMの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。 With such a configuration, when reading / writing RAM data, only the lower address of the RAM needs to be specified by fixing the first register as a value indicating the upper address of the RAM, and the amount of program code As a result, it is possible to reduce the occurrence of coding errors as a result of not being able to change the value of the first register inadvertently.
また、CPUと、遊技制御プログラムが記憶されたROMと、データを一時記憶可能なRAMと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記CPUは、少なくとも特定のレジスタを有し、前記RAMの先頭アドレスの上位バイトは、前記ROMの先頭アドレスの上位バイトよりも大きく、前記CPUは、前記特定のレジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有し、前記CPUは、前記特定のレジスタに値をセットする機能のうち、前記ロード命令を受けたことに基づいて行われるもの以外のものとしては、前記RAMの先頭アドレスの上位バイトと同じ値を初期値としてセットする機能を少なくとも有していてもよい。 A gaming machine comprising a microcomputer having a CPU, a ROM storing a gaming control program, and a RAM capable of temporarily storing data, wherein the gaming machine is a pachinko machine or a slot machine. The CPU has at least a specific register, and the upper byte of the start address of the RAM is larger than the upper byte of the start address of the ROM, and the CPU has a function of setting a value in the specific register. Of these, only the function of setting a value by a direct value is performed based on receiving the load instruction, and the CPU has the load instruction among the functions of setting a value in the specific register. As other than what is performed on the basis of having received, the same value as the upper byte of the top address of the RAM is set as the initial value. Set Te functions may be at least a.
このような構成とすれば、RAMの上位アドレスを示す値を特定レジスタの初期値としてセットすることで、RAMのデータを読み書きする場合には、RAMの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することができる。しかも、特定レジスタには、初期値以外では、ロード命令による直値だけしかセットすることができないので、特定レジスタの値を不用意に変更することができなくなる結果、アドレスの設定ミスや、RAMへのデータの読み書きミスなどの発生を回避することができ、安定した遊技制御を行うことができる。また、頻繁に演算に用いられることにより、意図しない演算結果が記憶されたレジスタ経由で、間違った値が特定のレジスタにセットされることを防止できるとともに、初期値としてRAMの先頭アドレスの上位バイトと同じ値が特定のレジスタにセットされるので、電源投入後、特定のレジスタを用いてRAMのアクセスを行う場合であれば、特定のレジスタに値をセットする操作をせずに、特定のレジスタを用いてRAMのアクセスを行うことが可能になり、当該「RAMのアクセスを行う」ことについて、特定のレジスタの値が誤っていることから意図しないアドレスの情報をアクセスしてしまうといった不具合の防止効果をさらに高めることができる。 With such a configuration, by setting a value indicating the upper address of the RAM as the initial value of the specific register, when reading or writing RAM data, only the lower address of the RAM needs to be specified. Reduction of the amount and improvement of the processing speed can be realized. In addition, since only the direct value by the load instruction can be set in the specific register other than the initial value, the value of the specific register cannot be changed carelessly. The occurrence of data read / write errors and the like can be avoided, and stable game control can be performed. In addition, since it is frequently used for computation, it is possible to prevent an incorrect value from being set in a specific register via a register in which an unintended computation result is stored, and an upper byte of the RAM start address as an initial value. Since the same value is set in a specific register, if the RAM is accessed using a specific register after the power is turned on, the specific register is not operated without setting the value in the specific register. Can be used to access the RAM, and with regard to the “accessing the RAM”, it is possible to prevent a problem that the information of an unintended address is accessed because the value of a specific register is incorrect. The effect can be further enhanced.
また、プログラムを書き換えただけでは遊技を思い通りに制御することができないため、プログラムの書き換えによる不正行為を効果的に防止できる場合がある。特に、CPUのユーザによって設定されたユーザプログラムを実行可能なユーザモードと、該ユーザプログラムを実行不可能な非ユーザモード(例えば、セキュリティモード)と、を備え、該非ユーザモードにおいて前記特定の値を第一レジスタに設定すれば、特定の値が他の値に改ざんされたり、特定の値が読みだされたりするような不正行為を未然に防止できる場合がある。 In addition, since the game cannot be controlled as desired simply by rewriting the program, there are cases where illegal acts caused by rewriting the program can be effectively prevented. In particular, a user mode in which a user program set by a user of the CPU can be executed and a non-user mode in which the user program cannot be executed (for example, a security mode) are provided. If the first register is set, it may be possible to prevent an illegal act in which a specific value is altered to another value or a specific value is read out.
また、前記RAMは、第一エリア(例えば、7E00H〜7EFFHのワークエリア(または、I/OマップドI/O方式でアクセス可能なエリア))と第二エリア(例えば、7FE0H〜7FFFHのスタックエリア(または、メモリマップドI/O方式でアクセス可能なエリア))を有して構成されており、前記特定の値は、前記第一エリアの上位アドレス(F0H)を示す値であってもよい。 The RAM includes a first area (for example, a work area of 7E00H to 7EFFH (or an area accessible by an I / O mapped I / O method)) and a second area (for example, a stack area of 7FE0H to 7FFFH ( Alternatively, the area may be accessed by a memory mapped I / O method)), and the specific value may be a value indicating an upper address (F0H) of the first area.
このような構成とすれば、RAMの第一エリアのデータを読み書きする場合には、第一のレジスタをRAMの第一エリアの上位アドレスを示す値として固定することで、RAMの第一エリアの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、第一エリアの上位アドレスを固定することによって、第一エリアの読み書きを行うつもりが誤って第二エリアの読み書きを行ってしまうようなミスを未然に防止できる場合がある。 With such a configuration, when reading and writing data in the first area of the RAM, the first register is fixed as a value indicating the upper address of the first area of the RAM, so that the first area of the RAM is It is only necessary to specify the lower address, so that the amount of program code can be reduced and the processing speed can be improved, and the value of the first register cannot be changed carelessly. In some cases, it is possible to reduce the occurrence of. In addition, by fixing the upper address of the first area, there is a case where it is possible to prevent a mistake that an intention to read / write the first area erroneously reads / writes the second area.
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、遊技の進行を中心とした遊技制御を行うCPU(例えば、CPU304(またはCPU1304)と、前記遊技制御に用いるデータを記憶する記憶手段と、を備えた遊技台であって、前記記憶手段は、前記CPUが実行するプログラムを記憶するROM(例えば、ROM306(またはROM1306))と、前記CPUが前記遊技制御を行う際に用いるデータを一時記憶可能なRAM(例えば、RAM308(またはRAM1308))と、を少なくとも有し、前記CPUは、前記遊技制御を開始する前(例えば、「電源投入後、主制御部300のCPU304がユーザプログラム(制御プログラム)を実行する前」、「システムリセット後、主制御部300のCPU304がユーザプログラム(制御プログラム)を実行する前」、「セキュリティモードに移行した直後」、「セキュリティチェックの結果がOKとなってユーザモードに移行した直後」、「システムリセットによる初期化処理の期間中」など)に、前記RAMの先頭アドレスのうちの上位アドレスを示す特定の値(例えば、F0H)を、(前記プログラムによらずに、)特定レジスタ(例えば、ROM306とは別体のCPU304に内蔵されたTレジスタ)に設定することを特徴とする遊技台である。 In addition, the pachinko machine 100 (or slot machine 1100) according to the present embodiment stores a CPU (for example, the CPU 304 (or CPU 1304) that performs game control centering on the progress of the game and data used for the game control. And a memory for storing a program executed by the CPU (for example, ROM 306 (or ROM 1306)) and data used when the CPU performs the game control. RAM (for example, RAM 308 (or RAM 1308)) at least, and the CPU before the game control is started (for example, “after power-on, the CPU 304 of the main control unit 300 is a user program). (Before executing (control program) "," After system reset, main controller 30 Before the CPU 304 executes the user program (control program), “immediately after shifting to the security mode”, “immediately after shifting to the user mode with the result of the security check being OK”, “initialization processing by system reset” During a period, etc.), a specific value (for example, F0H) indicating the upper address of the head address of the RAM is set to a specific register (for example, the CPU 304 separate from the ROM 306). This is a gaming machine characterized in that it is set in a T register built in.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、RAMのデータを読み書きする場合には、特定レジスタをRAMの上位アドレスを示す値として固定することで、RAMの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。 According to the pachinko machine 100 (or the slot machine 1100) according to the present embodiment, when reading / writing data in the RAM, by fixing the specific register as a value indicating the upper address of the RAM, only the lower address of the RAM is obtained. It is only necessary to specify this, and it is possible to reduce the amount of program code and increase the processing speed, as well as reduce the occurrence of coding errors as a result of not being able to change the value of a specific register carelessly. May be possible.
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、CPUと、遊技制御プログラムを記憶するROMと、データを一時記憶可能なRAMと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記CPUは、少なくとも特定レジスタを備え、前記RAMの先頭アドレスの上位バイトは、前記ROMの先頭アドレスの上位バイトよりも大きく、前記遊技制御プログラムによらずに、前記RAMの先頭アドレスの上位バイトと同じ値が、初期値として前記特定レジスタにセットされることを特徴とする遊技台である。 The pachinko machine 100 (or slot machine 1100) according to the present embodiment is a game machine including a microcomputer that includes a CPU, a ROM that stores a game control program, and a RAM that can temporarily store data. The gaming machine is a pachinko machine or a slot machine, the CPU includes at least a specific register, and the upper byte of the top address of the RAM is larger than the upper byte of the top address of the ROM. The gaming machine is characterized in that the same value as the upper byte of the head address of the RAM is set in the specific register as an initial value regardless of the control program.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、遊技制御プログラム内でRAMのアドレスの上位バイトを記述する必要がなくなるので、不正行為者にプログラムを不正に解析されたとしてもRAMのアドレスが特定困難である上に、遊技制御プログラムを書き換えただけでは遊技を思い通りに制御することができないため、遊技制御プログラムの書き換えによる不正行為を効果的に防止することができる。また、RAMのデータを読み書きする場合には、特定レジスタをRAMの上位アドレスを示す値として固定することで、RAMの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる。 According to the pachinko machine 100 (or slot machine 1100) according to the present embodiment, since it is not necessary to describe the upper byte of the RAM address in the game control program, even if the program is illegally analyzed by an unauthorized person. It is difficult to specify the address of the RAM, and the game cannot be controlled as desired simply by rewriting the game control program, so that illegal acts caused by rewriting the game control program can be effectively prevented. In addition, when reading and writing data in the RAM, it is sufficient to specify only the lower address of the RAM by fixing the specific register as a value indicating the upper address of the RAM, thereby reducing the amount of program code and improving the processing speed. In addition to being able to be realized, the value of the specific register cannot be changed carelessly, and as a result, the occurrence of coding errors can be reduced.
また、プログラムを書き換えただけでは遊技を思い通りに制御することができないため、プログラムの書き換えによる不正行為を効果的に防止できる場合がある。特に、CPUのユーザによって設定されたユーザプログラムを実行可能なユーザモードと、該ユーザプログラムを実行不可能な非ユーザモード(例えば、セキュリティモード)と、を備え、該非ユーザモードにおいて前記特定の値を第一レジスタに設定すれば、特定の値が他の値に改ざんされたり、特定の値が読みだされたりするような不正行為を未然に防止できる場合がある。 In addition, since the game cannot be controlled as desired simply by rewriting the program, there are cases where illegal acts caused by rewriting the program can be effectively prevented. In particular, a user mode in which a user program set by a user of the CPU can be executed and a non-user mode in which the user program cannot be executed (for example, a security mode) are provided. If the first register is set, it may be possible to prevent an illegal act in which a specific value is altered to another value or a specific value is read out.
また、前記CPUは、非特定レジスタ(例えば、Aレジスタ、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタ、およびこれらの裏レジスタ)をさらに備えるとともに、前記特定レジスタに前記非特定レジスタを介してデータを転送する命令(例えば「LD T,A」命令のように、TレジスタにAレジスタを介してデータを転送する命令)を備えず、前記特定レジスタに直値によりデータを設定する命令(例えば、「LD T,F0H」命令)を備えてもよい。 The CPU further includes non-specific registers (for example, an A register, an F register, a B register, a C register, a D register, an E register, an H register, an L register, and a back register thereof), and the specific register Are not provided with an instruction for transferring data via the non-specific register (eg, an instruction for transferring data via the A register to the T register, such as an “LD T, A” instruction). May be provided with an instruction (for example, an “LD T, F0H” instruction) for setting data.
このような構成とすれば、特定レジスタに対して直値でデータを転送するよう構成されているので、セットしているデータを確認し易くなる場合がある。また、特定レジスタに対して他のレジスタを介してデータを転送できないように構成されているので、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、特定レジスタは直値によるデータの転送のみが認められているため、レジスタを介したデータの転送と直値によるデータの転送の両方が認められている他のレジスタよりも相対的に使用頻度が低くなる。このため、コーディングの見直し作業や、デバッグ(例えば、Tレジスタのトレースなど)の効率を高めることが可能となる。 With such a configuration, since data is transferred to a specific register as a direct value, it may be easy to check the set data. In addition, since it is configured so that data cannot be transferred to a specific register via another register, the value of the specific register cannot be inadvertently changed, thereby reducing the occurrence of coding errors. There are cases where it is possible. In addition, because specific registers are only allowed to transfer data by direct data, they are used more frequently than other registers that allow both data transfer through registers and direct data transfer. Becomes lower. For this reason, it is possible to increase the efficiency of coding review work and debugging (for example, T register tracing).
また、前記CPUは、前記特定レジスタに直値によりデータを転送する命令に基づいて、前記特定レジスタに前記特定の値を転送することができるようにしてもよい。 The CPU may be configured to transfer the specific value to the specific register based on an instruction to transfer data to the specific register as a direct value.
このような構成とすれば、ループ処理などで汎用レジスタの空きがなくなった場合に臨時的に特定レジスタを使用した後に、初期値に戻すことができ、利便性を高めることができる。 With such a configuration, when the general-purpose register becomes empty due to loop processing or the like, the specific register is temporarily used and then returned to the initial value, so that convenience can be improved.
また、前記CPUは、前記RAMから前記特定レジスタにデータを転送する命令に基づいて、前記特定レジスタに前記特定の値を転送(例えば、「POP TI」命令による転送)することができるように構成してもよい。 Further, the CPU is configured to be able to transfer the specific value to the specific register (for example, transfer by “POP TI” instruction) based on an instruction to transfer data from the RAM to the specific register. May be.
このような構成とすれば、特定レジスタを特定の処理に使用することが可能となり、特定レジスタの利便性を高めることができる場合がある。 With such a configuration, the specific register can be used for specific processing, and the convenience of the specific register can be improved in some cases.
また、前記RAMは、第一エリア(例えば、7E00H〜7EFFHのワークエリア(または、I/OマップドI/O方式でアクセス可能なエリア))と第二エリア(例えば、7FE0H〜7FFFHのスタックエリア(または、メモリマップドI/O方式でアクセス可能なエリア))を有して構成されており、前記特定の値は、前記第一エリアの上位アドレス(F0H)を示す値であってもよい。 The RAM includes a first area (for example, a work area of 7E00H to 7EFFH (or an area accessible by an I / O mapped I / O method)) and a second area (for example, a stack area of 7FE0H to 7FFFH ( Alternatively, the area may be accessed by a memory mapped I / O method)), and the specific value may be a value indicating an upper address (F0H) of the first area.
このような構成とすれば、RAMの第一エリアのデータを読み書きする場合には、特定レジスタをRAMの第一エリアの上位アドレスを示す値として固定することで、RAMの第一エリアの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、第一エリアの上位アドレスを固定することによって、第一エリアの読み書きを行うつもりが誤って第二エリアの読み書きを行ってしまうようなミスを未然に防止できる場合がある。 With such a configuration, when reading and writing data in the first area of the RAM, the specific register is fixed as a value indicating the upper address of the first area of the RAM, thereby lowering the lower address of the first area of the RAM. It is possible to reduce the amount of program code and increase the processing speed, as well as reduce the occurrence of coding errors as a result of the inadvertent change of specific register values. There is a case that can be made. In addition, by fixing the upper address of the first area, there is a case where it is possible to prevent a mistake that an intention to read / write the first area erroneously reads / writes the second area.
また、前記CPUは、所定の割込み条件が成立したことに基づいて実行される割込み処理(例えば、主制御部メイン処理)を実行可能であるとともに、電源投入後、最初の前記割込み処理を実行する前に、前記特定レジスタに前記特定の値が設定されているかを判定する処理(例えば、Tレジチェック処理)を実行してもよい。なお、「電源投入後、最初の前記割込み処理を実行する前」の例としては、他にも、「電源投入後、主制御部メイン処理のステップS105の低電圧状態の確認前」や、「電源投入後、主制御部メイン処理のステップS109の電断前の状態に復帰する否かの確認前」や、「電源投入後、第1副制御部の立ち上りの確認前」などを挙げることができる。また、「判定する処理」の結果に応じて、上記図11に示すように、特定レジスタに特定の値を設定したり、上記図12に示すように、エラー処理を実行してもよい。 In addition, the CPU can execute an interrupt process (for example, main control unit main process) that is executed based on a predetermined interrupt condition being satisfied, and executes the first interrupt process after the power is turned on. Before that, a process for determining whether the specific value is set in the specific register (for example, a T-registration check process) may be executed. In addition, examples of “before executing the first interrupt process after turning on the power” include other “after power on and before confirming the low voltage state in step S105 of the main control unit main process”, “ For example, after power-on, before confirming whether or not to return to the state before power interruption in step S109 of the main control unit main process, or “before power-on, before confirming the rise of the first sub-control unit”. it can. Further, depending on the result of the “determination process”, a specific value may be set in the specific register as shown in FIG. 11 or error processing may be executed as shown in FIG.
このような構成とすれば、特定レジスタの値を確認することで遊技台が正常動作をしているか否かを判断できる場合がある。 With such a configuration, it may be possible to determine whether or not the game machine is operating normally by checking the value of the specific register.
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、複数のアドレスそれぞれで示される記憶領域(例えば、ROM領域)に制御プログラムデータを含む複数種類のデータ(例えば、非使用データや参照データ)を記憶したROM(例えば、ROM306)と、前記ROMに記憶された前記制御プログラムデータに基づいて所定の周期毎に実行される割込み処理(例えば、主制御部タイマ割込み処理)を含む複数種類の遊技制御処理を実行するCPU(例えば、CPU304)と、を備え、前記ROMは、1又は複数の前記制御プログラムデータであって、前記CPUが実行する複数種類の命令それぞれに対応した命令データ(オペコード)と、1又は複数の前記制御プログラムデータであって、前記CPUが該命令を実行するために必要な補足データ(オペランド)と、を記憶し、該命令データであって、特定のアドレス(例えば、サブルーチンの先頭のアドレス)を識別可能にする特定識別情報(例えば、サブルーチンの先頭のアドレスをバイナリ形式で表現した情報)の一部である第1の識別情報を示す第1のアドレスデータ(例えば、m)および該第1のアドレスデータと異なる別データ(例えば、EXESUB命令の命令データからmを除いたデータ)で構成され、該特定のアドレスで示される記憶領域に記憶されたデータを前記CPUに読み込ませる特定命令(例えば、EXESUB命令)に対応した特定命令データ(例えば、EXESUB命令の命令データ)と、該補足データであって、該特定識別情報から該第1の識別情報を除いた情報のうちの少なくとも一部である第2の識別情報を示す第2のアドレスデータ(例えば、n)で構成され、前記CPUが該特定命令を実行するために必要な特定補足データと、を前記割込み処理で実行される命令に対応するように(例えば、ROM制御領域のうちタイマ割り込み処理の領域に対応するROM306の記憶領域(タイマ割込み処理に対応したアドレスで示される記憶領域)に)記憶していることを特徴とする遊技台である。 Further, the pachinko machine 100 (or the slot machine 1100) according to the present embodiment has a plurality of types of data (for example, non-use data and data) including control program data in storage areas (for example, ROM areas) indicated by a plurality of addresses. A plurality of ROMs (for example, ROM 306) storing reference data) and interrupt processing (for example, main control unit timer interrupt processing) executed at predetermined intervals based on the control program data stored in the ROM A CPU (for example, a CPU 304) that executes a type of game control process, and the ROM is one or a plurality of the control program data, each of which corresponds to a plurality of types of commands executed by the CPU (Opcode) and one or more of the control program data, the CPU Specific identification information (for example, a subroutine) that stores supplementary data (operands) necessary for executing the instruction, and is capable of identifying a specific address (for example, the head address of the subroutine). First address data (for example, m) indicating the first identification information that is a part of the first address of information in binary format) and other data different from the first address data (for example, the EXESUB instruction) Specific instruction data (for example, EXESUB instruction), for example, which causes the CPU to read the data stored in the storage area indicated by the specific address. , The instruction data of the EXESUB instruction) and the supplementary data, the information obtained by removing the first identification information from the specific identification information Specific supplementary data that is composed of second address data (for example, n) indicating second identification information that is at least a part of the CPU and that is necessary for the CPU to execute the specific instruction. (For example, in the storage area of the ROM 306 corresponding to the timer interrupt processing area in the ROM control area (the storage area indicated by the address corresponding to the timer interrupt processing)) It is a game stand characterized by being.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、命令データに含まれる第1のアドレスデータmを上位アドレスのデータとして定義することで、アドレス領域に対して命令データをグループ化して対応付けることができ、コーディングミスを抑制することができる場合がある。また、命令データは、呼び出すサブルーチンの先頭アドレスの一部を構成するデータを含んで構成されていることから、移動先のアドレスデータを間違ってしまった場合であっても、間違ってしまったデータが命令データに含まれていれば、制御プログラムの実行が停止される場合があるため、コーディングミスを抑制することができる場合がある。また、従来のサブルーチンを呼び出す制御命令(例えば、CALL命令)を圧縮することができ、ROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータを圧縮することが可能となる。また、制御プログラムの圧縮に起因して従来(例えば、CALL命令)よりもサブルーチンを呼び出す制御プログラムの処理速度を向上させる(ステート数を少なくする)ことができる場合がある。 According to the pachinko machine 100 (or the slot machine 1100) according to the present embodiment, the first address data m included in the instruction data is defined as upper address data, thereby grouping the instruction data into the address area. In some cases, coding errors can be suppressed. In addition, because the instruction data includes data that forms part of the top address of the subroutine to be called, even if the destination address data is incorrect, the erroneous data is If included in the instruction data, the execution of the control program may be stopped, so that coding errors may be suppressed. In addition, a control instruction (for example, a CALL instruction) for calling a conventional subroutine can be compressed, and conventional control program data stored in the storage area of the ROM 306 corresponding to the ROM control area can be compressed. . In addition, due to the compression of the control program, there are cases where the processing speed of the control program for calling a subroutine can be improved (the number of states can be reduced) as compared with the conventional case (for example, CALL instruction).
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、複数のアドレスそれぞれで示される記憶領域に制御プログラムデータおよび該制御プログラムデータに基づいて参照される参照データを含む複数種類のデータを記憶したROMと、前記ROMに記憶された前記制御プログラムデータおよび前記参照データに基づいて所定の周期毎に実行される割込み処理を含む複数種類の遊技制御処理を実行するCPUと、を備え、前記ROMは、1又は複数の前記制御プログラムデータであって、前記CPUが実行する複数種類の命令それぞれに対応した命令データと、1又は複数の前記制御プログラムデータであって、前記CPUが該命令を実行するために必要な補足データと、を記憶し、前記命令データであって、特定のアドレスを識別可能にする特定識別情報の一部である第1の識別情報を示す第1のアドレスデータおよび該第1のアドレスデータと異なる別データで構成され、該特定のアドレスで示される記憶領域に記憶されたデータを前記CPUに読み込ませる特定命令に対応した特定命令データと、前記補足データであって、前記特定識別情報から前記第1の識別情報を除いた情報である第2の識別情報を示す第2のアドレスデータで構成され、前記CPUが該特定命令を実行するために必要な特定補足データと、を前記割込み処理で実行される命令に対応するように記憶し、前記特定命令の実行により前記CPUが読み込み可能な特定の記憶領域に全ての前記制御プログラムデータを記憶し、全ての制御プログラムデータが記憶された前記特定の記憶領域とは異なる記憶領域に、前記参照データを記憶していることを特徴とする遊技台である。 In addition, the pachinko machine 100 (or the slot machine 1100) according to the present embodiment includes a plurality of types of data including control program data and reference data referred to based on the control program data in a storage area indicated by each of a plurality of addresses. And a CPU for executing a plurality of types of game control processes including an interrupt process executed at predetermined intervals based on the control program data and the reference data stored in the ROM, The ROM is one or a plurality of the control program data, the command data corresponding to each of a plurality of types of instructions executed by the CPU, and the one or a plurality of the control program data, the CPU And supplementary data necessary for executing A storage area composed of first address data indicating first identification information that is part of specific identification information enabling identification of an address and different data different from the first address data, and indicated by the specific address Specific instruction data corresponding to a specific instruction for causing the CPU to read the data stored in the CPU and the supplementary data, the second identification information which is information obtained by removing the first identification information from the specific identification information And the specific supplementary data necessary for the CPU to execute the specific instruction is stored so as to correspond to the instruction executed in the interrupt processing, and All the control program data is stored in a specific storage area that can be read by the CPU by execution, and the specific record in which all the control program data is stored is stored. In different storage area from the region, a gaming table, characterized in that stores the reference data.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、CPUが特定命令を実行する際に、誤って参照データを読み込んでしまい、当該参照データに基づいて意図しない遊技制御処理を行ってしまうような事態を未然に防止することができ、遊技制御の安定化を図ることができる。また、特定命令は、特定の記憶領域に記憶された全ての制御プログラムデータを読み込み可能に構成されているため、制御プログラムデータにおける呼出元と呼出先の配置(記憶場所)が制限されることがなく、制御プログラムの設計に自由度を持たせることができる。また、遊技台の分野においては、複数種類の遊技台において制御プログラムデータ(例えば、使用頻度の高いサブルーチン)を共用する一方で、各遊技台の仕様や性能に応じて参照データ(例えば、抽選値や演出データ)を異ならせることが一般的であるため、遊技台に特に好適である。 According to the pachinko machine 100 (or slot machine 1100) according to the present embodiment, when the CPU executes a specific command, the reference data is erroneously read, and an unintended game control process is performed based on the reference data. Such a situation can be prevented and game control can be stabilized. Further, since the specific instruction is configured to be able to read all the control program data stored in the specific storage area, the arrangement (storage location) of the call source and the call destination in the control program data may be limited. Therefore, the control program can be designed with a degree of freedom. In the field of gaming machines, a plurality of types of gaming machines share control program data (for example, frequently used subroutines), while reference data (for example, lottery values) according to the specifications and performance of each gaming machine. Or production data) is generally different, and is particularly suitable for a game machine.
また、複数のアドレスそれぞれで示される記憶領域に制御プログラムデータおよび該制御プログラムデータに基づいて参照される参照データを含む複数種類のデータを記憶したROMと、前記ROMに記憶された前記制御プログラムデータおよび前記参照データに基づいて所定の周期毎に実行される割込み処理を含む複数種類の遊技制御処理を実行するCPUと、を備え、前記ROMは、1又は複数の前記制御プログラムデータであって、前記CPUが実行する複数種類の命令それぞれに対応した命令データと、1又は複数の前記制御プログラムデータであって、前記CPUが該命令を実行するために必要な補足データと、を記憶し、前記命令データであって、特定のアドレスを識別可能にする特定識別情報の一部である第1の識別情報を示す第1のアドレスデータおよび該第1のアドレスデータと異なる別データで構成され、該特定のアドレスで示される記憶領域に記憶されたデータを前記CPUに読み込ませる特定命令に対応した特定命令データと、前記補足データであって、前記特定識別情報から前記第1の識別情報を除いた情報である第2の識別情報を示す第2のアドレスデータで構成され、前記CPUが該特定命令を実行するために必要な特定補足データと、を前記割込み処理で実行される命令に対応するように記憶し、前記特定命令の実行により前記CPUが読み込み可能な特定の記憶領域に全ての前記制御プログラムデータを記憶し、全ての制御プログラムデータが記憶された前記特定の記憶領域とは異なる記憶領域に、前記参照データを記憶していてもよい。 A ROM storing a plurality of types of data including control program data and reference data referred to based on the control program data in a storage area indicated by each of a plurality of addresses; and the control program data stored in the ROM And a CPU that executes a plurality of types of game control processes including an interrupt process that is executed at predetermined intervals based on the reference data, and the ROM is one or a plurality of the control program data, Storing instruction data corresponding to each of a plurality of types of instructions executed by the CPU, and one or a plurality of the control program data, which is supplementary data necessary for the CPU to execute the instructions; Indicates first identification information that is part of specific identification information that is instruction data and enables identification of a specific address. Specific instruction data corresponding to a specific instruction that is constituted by first address data and different data different from the first address data, and causes the CPU to read data stored in the storage area indicated by the specific address; The supplementary data is composed of second address data indicating second identification information, which is information obtained by removing the first identification information from the specific identification information, and the CPU executes the specific instruction. Specific supplementary data necessary for the interrupt processing is stored so as to correspond to the instruction executed in the interrupt processing, and all the control program data is stored in a specific storage area readable by the CPU by the execution of the specific instruction. The reference data may be stored in a storage area different from the specific storage area in which all control program data is stored.
このような構成とすれば、CPUが特定命令を実行する際に、誤って参照データを読み込んでしまい、当該参照データに基づいて意図しない遊技制御処理を行ってしまうような事態を未然に防止することができ、遊技制御の安定化を図ることができる。また、特定命令は、特定の記憶領域に記憶された全ての制御プログラムデータを読み込み可能に構成されているため、制御プログラムデータにおける呼出元と呼出先の配置(記憶場所)が制限されることがなく、制御プログラムの設計に自由度を持たせることができる。また、遊技台の分野においては、複数種類の遊技台において制御プログラムデータ(例えば、使用頻度の高いサブルーチン)を共用する一方で、各遊技台の仕様や性能に応じて参照データ(例えば、抽選値や演出データ)を異ならせることが一般的であるため、遊技台に特に好適である。 With such a configuration, it is possible to prevent a situation in which, when the CPU executes a specific command, the reference data is erroneously read and an unintended game control process is performed based on the reference data. And stabilization of game control can be achieved. Further, since the specific instruction is configured to be able to read all the control program data stored in the specific storage area, the arrangement (storage location) of the call source and the call destination in the control program data may be limited. Therefore, the control program can be designed with a degree of freedom. In the field of gaming machines, a plurality of types of gaming machines share control program data (for example, frequently used subroutines), while reference data (for example, lottery values) according to the specifications and performance of each gaming machine. Or production data) is generally different, and is particularly suitable for a game machine.
また、前記ROMは、少なくとも前記第1の識別情報、前記第2の識別情報の順序に定義することにより前記特定のアドレスを識別可能にする前記特定識別情報(例えば、mn)のうち、前記第1の識別情報を示す前記第1のアドレスデータおよび前記別データで構成される前記特定命令データと、該特定識別情報のうち前記第2の識別情報を示す前記第2のアドレスデータで構成される前記特定補足データと、を前記割込み処理で実行される命令に対応するように記憶してもよい。 Further, the ROM includes the first identification information (for example, mn) that makes it possible to identify the specific address by defining at least the order of the first identification information and the second identification information. The first instruction data indicating one identification information and the specific command data composed of the separate data, and the second address data indicating the second identification information among the specific identification information. The specific supplementary data may be stored so as to correspond to an instruction executed in the interrupt process.
このような構成とすれば、命令データは、呼び出すサブルーチンの先頭アドレスの一部を構成するデータを含んで構成されていることから、移動先のアドレスデータを間違ってしまった場合であっても、間違ってしまったデータが命令データに含まれていれば、制御プログラムの実行が停止されるため、コーディングミスを抑制することができる場合がある。 With such a configuration, since the instruction data is configured to include data that forms part of the top address of the subroutine to be called, even if the destination address data is wrong, If erroneous data is included in the instruction data, the execution of the control program is stopped, so that a coding error may be suppressed.
また、前記ROMは、少なくとも前記第1のアドレスデータの一部である第1の構成データ(例えば、EXESUB命令の命令データのビット7)、前記別データの少なくとも一部である第2の構成データ(例えば、EXESUB命令の命令データのビット6〜3)、前記第1のアドレスデータから該第1の構成データを除いた第3の構成データ(例えば、EXESUB命令の命令データのビット2〜0)の順序で構成された前記特定命令データをを前記割込み処理で実行される命令に対応するように記憶してもよい。 The ROM includes at least first configuration data (for example, bit 7 of the instruction data of the EXESUB instruction) that is a part of the first address data, and second configuration data that is at least a part of the other data. (For example, bits 6 to 3 of the instruction data of the EXEBUS instruction), third configuration data obtained by removing the first configuration data from the first address data (for example, bits 2 to 0 of the instruction data of the EXESUB instruction) The specific instruction data configured in this order may be stored so as to correspond to the instruction executed in the interrupt processing.
このような構成とすれば、命令データをグループ化しつつも、きめ細かく命令データテーブルの空き領域に割り当てることが可能になる。よって、限られたハードウェア資源(例えば、1バイトで定義可能なパターン(256パターン))を有効利用することができ、命令データの圧縮によるROM制御領域に対応するROMの記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。 With such a configuration, it is possible to finely assign instruction data to a free area of the instruction data table while grouping the instruction data. Therefore, limited hardware resources (for example, patterns that can be defined by 1 byte (256 patterns)) can be used effectively and stored in the ROM storage area corresponding to the ROM control area by compressing instruction data. The conventional control program data can be compressed.
また、前記第3の構成データ(例えば、EXESUB命令の命令データのビット2〜0)が前記第1の構成データ(例えば、EXESUB命令の命令データのビット7)と比較してデータ容量が大きくなる、または、前記第1の構成データが前記第3の構成データと比較してデータ容量が大きくなる(例えば、3ビットに対して1ビット)ように構成された前記特定命令データを前記割込み処理で実行される命令に対応するように記憶してもよい。 Further, the third configuration data (for example, bits 2 to 0 of the instruction data of the EXEBUS instruction) has a larger data capacity than the first configuration data (for example, bit 7 of the instruction data of the EXESUB instruction). Alternatively, the specific instruction data configured such that the first configuration data has a data capacity larger than that of the third configuration data (for example, 1 bit compared to 3 bits) is generated by the interrupt processing. You may memorize | store corresponding to the command performed.
このような構成とすれば、命令データをグループ化しつつも、きめ細かく命令データテーブルの空き領域に割り当てることが可能になる。よって、限られたハードウェア資源(例えば、1バイトで定義可能なパターン(256パターン))を有効利用することができ、命令データの圧縮によるROM制御領域に対応するROMの記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。 With such a configuration, it is possible to finely assign instruction data to a free area of the instruction data table while grouping the instruction data. Therefore, limited hardware resources (for example, patterns that can be defined by 1 byte (256 patterns)) can be used effectively and stored in the ROM storage area corresponding to the ROM control area by compressing instruction data. The conventional control program data can be compressed.
また、前記ROMは、前記特定命令の実行により前記CPUが読み込み可能なデータが記憶されている特定の記憶領域(例えば、0000H〜0FFFHや0000H〜11FFH)に全ての前記制御プログラムデータを記憶するとともに、該特定の記憶領域から前記制御プログラムデータが記憶された制御記憶領域(例えば、ROM制御領域に対応するROM306の記憶領域)を除いた記憶領域(例えば、非使用領域に対応するROM306の記憶領域)の全てに前記遊技制御処理の実行に使用されない非使用データ(例えば、00H)を記憶するようにしてもよい。 The ROM stores all the control program data in a specific storage area (for example, 0000H to 0FFFH or 0000H to 11FFH) in which data that can be read by the CPU by execution of the specific instruction is stored. A storage area (for example, a storage area of the ROM 306 corresponding to a non-use area) excluding a control storage area (for example, a storage area of the ROM 306 corresponding to the ROM control area) in which the control program data is stored from the specific storage area ) May be stored non-use data (for example, 00H) that is not used for execution of the game control process.
このような構成とすれば、CPU304が非使用データおよび制御プログラムデータを除くデータ(例えば、参照データや管理データ)を直接命令データとして読み込まれることがないため、補足データのコーディングミスによるCPU304の誤作動を防止できる場合がある。 With such a configuration, the CPU 304 does not directly read data (for example, reference data or management data) excluding unused data and control program data as instruction data. It may be possible to prevent operation.
また、前記ROMは、複数のアドレスそれぞれで示される記憶領域に特定のデータ長(例えば、1バイト(8ビット))で表される複数種類のデータを記憶するものであり、前記CPUは、前記ROMの記憶された一のアドレスに示される記憶領域に記憶されたデータを一処理毎に読み込むことで前記割込み処理を含む複数種類の遊技制御処理を実行するものであり、前記ROMは、さらに、前記特定のデータ長の2以上の整数倍である第1のデータ長(例えば、2バイト(16ビット))で表現される前記特定のアドレスを識別可能な前記特定識別情報の一部である前記第1の識別情報を示す前記第1のアドレスデータおよび前記別データで構成される前記特定命令データと、該第1のデータ長よりも前記特定のデータ長の整数倍のデータ長だけ短い第2のデータ長(例えば、1バイト(8ビット))で表現される前記第2のアドレスデータで構成される前記特定補足データと、を前記割込み処理で実行される命令に対応するように記憶してもよい。 The ROM stores a plurality of types of data represented by a specific data length (for example, 1 byte (8 bits)) in a storage area indicated by each of a plurality of addresses. A plurality of types of game control processes including the interrupt process are executed by reading the data stored in the storage area indicated by one address stored in the ROM for each process, and the ROM further includes: The specific identification information that can identify the specific address represented by a first data length (for example, 2 bytes (16 bits)) that is an integer multiple of 2 or more of the specific data length The specific instruction data composed of the first address data indicating the first identification information and the separate data, and data that is an integer multiple of the specific data length than the first data length The specific supplementary data composed of the second address data expressed by a second data length (for example, 1 byte (8 bits)) that is short only so as to correspond to the instruction executed in the interrupt processing May be stored.
このような構成とすれば、命令データをグループ化しつつも、きめ細かく命令データテーブルの空き領域に割り当てることが可能になる。よって、限られたハードウェア資源(例えば、1バイトで定義可能なパターン(256パターン))を有効利用することができ、命令データの圧縮によるROM制御領域に対応するROMの記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。 With such a configuration, it is possible to finely assign instruction data to a free area of the instruction data table while grouping the instruction data. Therefore, limited hardware resources (for example, patterns that can be defined by 1 byte (256 patterns)) can be used effectively and stored in the ROM storage area corresponding to the ROM control area by compressing instruction data. The conventional control program data can be compressed.
また、本実施形態に係るパチンコ機100(またはスロットマシン110)は、複数の制御プログラムデータで構成される制御プログラムを記憶しているROM(例えば、ROM306)と、前記制御プログラムに基づいて遊技制御を実行するCPU(例えば、CPU304)と、を備え、前記ROMは、前記複数の制御プログラムデータのうち、第1のデータ(例えば、EXESUB命令(EXESUBmn)の命令データにおける、ビット6およびビット7)、第2のデータ(例えば、EXESUB命令(EXESUBmn)の命令データにおける、ビット5(α))、第3のデータ(例えば、EXESUB命令(EXESUBmn)の命令データにおける、ビット3およびビット4)、第4のデータ(例えば、EXESUB命令(EXESUBmn)の命令データにおける、ビット0(δ)、ビット1(γ)、ビット2(β))、第5のデータ(例えば、EXESUB命令(EXESUBmn)の命令データにおける、補足データ(n))を含んで構成された特定の制御プログラムデータ(EXESUB命令(EXESUBmn)の命令データを、少なくとも、該第2のデータ、該第3のデータ、該第4のデータ、順番に並べて(例えば、アドレスの若い順番)記憶するものであり、前記CPUは、前記特定の制御プログラムデータを読み込んだ場合に、前記第1および第3のデータを用いて特定される第1の命令(例えば、サブルーチンの先頭のアドレスを呼び出す命令)と、前記第2のデータ、前記第4のデータおよび前記第5のデータを用いて特定される第2の命令(例えば、呼び出すサブルーチンの先頭アドレスを特定する命令)と、で特定される特定命令(例えば、EXESUB命令)を所定周期で実行される割込処理(例えば、タイマ割込み処理)中に実行することを特徴とする遊技台とも言える。 Further, the pachinko machine 100 (or the slot machine 110) according to the present embodiment has a ROM (eg, ROM 306) storing a control program composed of a plurality of control program data, and game control based on the control program. And the ROM executes first data (for example, bit 6 and bit 7 in the instruction data of the EXESUB instruction (EXESUBmn)) among the plurality of control program data. , Second data (for example, bit 5 (α) in the instruction data of the EXESUB instruction (EXESUBMn)), third data (for example, bits 3 and 4 in the instruction data of the EXESUB instruction (EXESUBmn)), 4 data (for example, the EXESUB instruction (EX Bit 0 (δ), bit 1 (γ), bit 2 (β)) in the instruction data of SUBmn), and fifth data (for example, supplementary data (n) in the instruction data of the EXESUB instruction (EXESUBmn)) The instruction data of specific control program data (EXESUB instruction (EXESUBmn)) configured to include at least the second data, the third data, and the fourth data are arranged in order (for example, the address is young) The CPU stores the first instruction (for example, the first address of the subroutine) specified by using the first and third data when the specific control program data is read. And a second instruction (for example, specified by using the second data, the fourth data, and the fifth data) For example, an instruction for specifying the start address of a subroutine to be called) and a specific instruction (for example, EXESUB instruction) specified in (1) during interrupt processing (for example, timer interrupt processing) executed at a predetermined cycle. It can be said that it is a game stand.
なお、前記ROMは、前記第1のデータと前記第2のデータの間、前記第2のデータと前記第3のデータの間および前記第3のデータと前記第4のデータの間のうち少なくともいずれか1つのデータ間に別のデータを含んで構成される前記特定の制御プログラムデータを記憶するものであってもよいが、前記ROMは、前記第1のデータ、前記第2のデータ、前記第3のデータおよび前記第4のデータでのみで構成される前記特定の制御プログラムデータを記憶するものであると、よりアセンブル後の機械語のチェックが簡便になり、コーディングミスを抑制することができる。 The ROM includes at least one of the first data and the second data, the second data and the third data, and the third data and the fourth data. The specific control program data configured to include another data between any one of the data may be stored. However, the ROM stores the first data, the second data, and the data. If the specific control program data composed only of the third data and the fourth data is stored, the machine language after assembly can be checked more easily and coding errors can be suppressed. it can.
また、前記第1のデータ、前記第2のデータ、第3のデータおよび前記第4のデータを合わせたデータ長と、前記第4のデータのデータ長を同一のデータ長(例えば、1バイト(8ビット)長)としてもよい。さらに、前記CPUが一度に読み込むデータのデータ長と前記第4のデータのデータ長を同一のデータ長としても良い。 The data length of the first data, the second data, the third data, and the fourth data is the same as the data length of the fourth data (for example, 1 byte ( (8 bits) long). Furthermore, the data length of the data read by the CPU at the same time may be the same as the data length of the fourth data.
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、プログラムデータおよび一時的なデータを記憶する記憶手段(例えば、ROM306、RAM308(またはROM1306、RAM1308))と、前記記憶手段に記憶されているデータを用いて遊技の進行を中心とした遊技制御を行う主制御部(例えば、主制御部300(または、主制御部1300))と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部(例えば、第1副制御部400、第2副制御部500(または、第1副制御部1400、第2副制御部1500))と、を備えた遊技台であって、前記主制御部は、第一のビット長(例えば、8ビット長)からなる複数のレジスタ(例えば、Aレジスタ、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタ、Tレジスタ)を有し、前記第一のビット長の倍のビット長である第二のビット長(例えば、16ビット長)の演算が可能なレジスタの組み合わせである前記複数のレジスタ(例えば、BCレジスタ、DEレジスタ、HLレジスタ)のうちの第一のレジスタと第二のレジスタ(例えば、HレジスタとLレジスタ)に格納された値によって示される前記記憶手段における第一のアドレス(例えば、1750H)、および該第一のアドレスと連続する第二のアドレス(例えば、1751H)に格納された第一の値(例えば、AEH)と第二の値(例えば、19)を、前記複数のレジスタのうちの第三のレジスタ(例えば、Cレジスタ)と第四のレジスタ(例えば、Aレジスタ)にそれぞれ転送する所定の命令(例えば、「INCTENSOU AC,(HL)」命令)を備え、該所定の命令を前記遊技制御(例えば、特別図柄変動時間抽選処理)において実行し、前記第三のレジスタと前記第四のレジスタは、前記第二のビット長の演算が可能なレジスタの組み合わせ(BCレジスタ、DEレジスタ、HLレジスタ)とは異なることを特徴とする遊技台である。なお、「第一のアドレスと連続する第二のアドレス」は第一のアドレスよりも大きなアドレスに限定されず、第一のアドレスよりも小さなアドレスでもよく、先の例では、第一アドレスが1750H、第二アドレスが174FHでもよい。 In addition, the pachinko machine 100 (or slot machine 1100) according to the present embodiment stores storage means (for example, ROM 306, RAM 308 (or ROM 1306, RAM 1308)) for storing program data and temporary data, and storage in the storage means. A main control unit (for example, main control unit 300 (or main control unit 1300)) that performs game control centered on the progress of the game using the stored data, and a game based on the game control of the main control unit A sub-control unit (for example, the first sub-control unit 400 and the second sub-control unit 500 (or the first sub-control unit 1400 and the second sub-control unit 1500)) that performs the production control. The main control unit includes a plurality of registers (for example, an A register, an F register, a B register, etc.) each having a first bit length (for example, 8 bit length). Register, D register, E register, H register, L register, T register), and can calculate a second bit length (for example, 16-bit length) that is double the first bit length. Indicated by a value stored in a first register and a second register (for example, an H register and an L register) of the plurality of registers (for example, a BC register, a DE register, and an HL register). And a first value (for example, AEH) stored in a first address (for example, 1750H) in the storage means and a second address (for example, 1751H) continuous with the first address, and a second The value (for example, 19) is assigned to the third register (for example, C register) and the fourth register (for example, A register) of the plurality of registers. A predetermined instruction (for example, an “INCENSOU AC, (HL)” instruction) to be transferred, and the predetermined instruction is executed in the game control (for example, a special symbol variation time lottery process), and the third register And the fourth register is a gaming machine characterized by being different from a combination of registers capable of calculating the second bit length (BC register, DE register, HL register). The “second address continuous with the first address” is not limited to an address larger than the first address, and may be an address smaller than the first address. In the above example, the first address is 1750H. The second address may be 174FH.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、1回の命令によって、連続して配置されたアドレスに格納された2つのデータを、レジスタペアを構成しない2種類のレジスタに格納することができるため、プログラム容量を削減することができ、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることが可能となる。また、処理時間を短縮でき、安定した遊技制御を行うことができる場合がある。また、プログラム容量を削減することでプログラムが見やすくなり、コーディングミスやバグの発生を抑制できる場合がある。また、第三のレジスタと第四のレジスタとはレジスタペアではないため、16ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる場合がある。 According to the pachinko machine 100 (or the slot machine 1100) according to the present embodiment, two data stored in consecutively arranged addresses are converted into two types of registers that do not constitute a register pair by one instruction. Since the program capacity can be stored, the capacity of the program can be reduced, the capacity can be allocated to the program for improving the game performance, and the fun of the game can be enhanced. Further, there are cases where the processing time can be shortened and stable game control can be performed. In addition, by reducing the program capacity, it becomes easier to see the program, and in some cases, coding errors and bugs can be suppressed. In addition, since the third register and the fourth register are not a register pair, a program can be created with care when performing 16-bit arithmetic processing, and the occurrence of coding errors and bugs may be suppressed. .
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、少なくとも第一から第四のレジスタを備え、上位レジスタおよび下位レジスタからなるレジスタペアを用いた処理を実行可能であるCPUと、遊技制御プログラムを記憶するROMと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記CPUは、第一の命令と第二の命令を含む複数の命令を実行可能であり、少なくとも前記第一のレジスタと前記第二のレジスタの二つのレジスタの組み合わせは、前記レジスタペアのうちの所定のレジスタペアであり、前記第三のレジスタと前記第四のレジスタの少なくともいずれかは、前記上位レジスタであり、前記第一の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスが示す領域に格納された第一の値が前記第四のレジスタにセットされ、該第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第二のアドレスと連続するアドレスを示す値になり、前記第二の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第四のレジスタにセットされ、該第二のアドレスと連続する第三のアドレスが示す領域に格納された第三の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第三のアドレスを示す値になり、前記CPUは、前記レジスタペアとは異なる前記第三のレジスタと前記第四のレジスタの二つのレジスタの組み合わせに前記ROMに格納された値を一命令でセットすることが可能であるとともに、前記所定のレジスタペアの値を変化させる所定の機能としては、前記第一の命令を受けたことに基づいて値をセットする第一の機能と前記第二の命令を受けたことに基づいて値をセットする第二の機能の二つのみを有することを特徴とする遊技台である。 In addition, the pachinko machine 100 (or slot machine 1100) according to the present embodiment includes at least first to fourth registers, and a CPU that can execute processing using a register pair including an upper register and a lower register, A gaming machine equipped with a microcomputer storing a ROM for storing a gaming control program, wherein the gaming machine is a pachinko machine or a slot machine, and the CPU receives a first instruction and a second instruction. A plurality of instructions can be executed, and a combination of at least two of the first register and the second register is a predetermined register pair of the register pair, and the third register and the second register At least one of the fourth registers is the upper register, and is based on execution of the first instruction. A first value stored in an area indicated by a first address indicated by a value stored in the predetermined register pair is set in the fourth register, and the second value is continuous with the first address. The second value stored in the area indicated by the address of the second address is set in the third register, and the value of the predetermined register pair becomes a value indicating an address continuous with the second address, Based on the execution of the instruction, the second value stored in the area indicated by the second address continuous with the first address indicated by the value stored in the predetermined register pair is the fourth value. A third value stored in a region indicated by a third address that is set in the register and indicated by the third address that is continuous with the second address is set in the third register, and a value of the predetermined register pair is set in the third register Indicates address The CPU can set the value stored in the ROM to a combination of two registers of the third register and the fourth register different from the register pair with one instruction. The predetermined function for changing the value of the predetermined register pair is based on receiving the first function and the second instruction for setting a value based on receiving the first instruction. It is a gaming machine having only two of the second functions for setting values.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、レジスタペアよりも汎用性の低い第三のレジスタと第四のレジスタの二つの組み合わせに値を一命令でセットする機能を限定したため、遊技者の利益に係る値を不正に改ざんする不正行為を不正者が行い難くすることができる。また、第一の命令と第二の命令を前後の処理に応じて使い分けることができ、遊技制御プログラムの容量を削減することができる。また、第一の命令と第二の命令とを従来の命令で構成した場合と比較して遊技制御プログラムの容量を削減でき、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることができる。また、第三のレジスタと第四のレジスタはレジスタペアよりも汎用性が低いため、プログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる。また、命令の実行中に割込み処理が発生し、割込み処理によって命令実行途中のレジスタの値が意図しない値に書き換えられてしまったり、命令の実行が妨げられて処理が遅延してしまうといったことがなく、安定した遊技制御を行うことができる場合がある。 According to the pachinko machine 100 (or slot machine 1100) according to the present embodiment, the function of setting values to two combinations of the third register and the fourth register, which are less versatile than the register pair, is limited by one instruction. For this reason, it is possible to make it difficult for an unauthorized person to perform an unauthorized act of illegally altering a value related to a player's profit. In addition, the first command and the second command can be properly used according to the preceding and subsequent processing, and the capacity of the game control program can be reduced. In addition, the capacity of the game control program can be reduced as compared with the case where the first instruction and the second instruction are configured by conventional instructions, and capacity can be allocated to a program for improving game play. Can enhance the interest of Further, since the third register and the fourth register are less versatile than the register pair, the program can be created with care, and coding errors and bugs can be suppressed. In addition, interrupt processing may occur during execution of an instruction, and the value of a register during instruction execution may be rewritten to an unintended value due to interrupt processing, or execution of the instruction may be hindered and processing may be delayed. In some cases, stable game control can be performed.
また、少なくとも第一から第四のレジスタを備え、上位レジスタおよび下位レジスタからなるレジスタペアを用いた処理を実行可能であるCPUと、遊技制御プログラムを記憶するROMと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記CPUは、第一の命令と第二の命令を含む複数の命令を実行可能であり、少なくとも前記第一のレジスタと前記第二のレジスタの二つのレジスタの組み合わせは、前記レジスタペアのうちの所定のレジスタペアであり、前記第三のレジスタと前記第四のレジスタの少なくともいずれかは、前記上位レジスタであり、前記第一の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスが示す領域に格納された第一の値が前記第四のレジスタにセットされ、該第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第二のアドレスと連続するアドレスを示す値になり、前記第二の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第四のレジスタにセットされ、該第二のアドレスと連続する第三のアドレスが示す領域に格納された第三の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第三のアドレスを示す値になり、前記CPUは、前記レジスタペアとは異なる前記第三のレジスタと前記第四のレジスタの二つのレジスタの組み合わせに前記ROMに格納された値を一命令でセットすることが可能であるとともに、前記所定のレジスタペアの値を変化させる所定の機能としては、前記第一の命令を受けたことに基づいて値をセットする第一の機能と前記第二の命令を受けたことに基づいて値をセットする第二の機能の二つを少なくとも有し、前記CPUは、少なくとも特定レジスタを備え、前記CPUは、前記特定レジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有していてもよい。 In addition, a microcomputer including at least first to fourth registers, a CPU capable of executing processing using a register pair including an upper register and a lower register, and a ROM storing a game control program is provided. The gaming table is a pachinko machine or a slot machine, and the CPU can execute a plurality of instructions including a first instruction and a second instruction, and at least the first register And the combination of the two registers of the second register is a predetermined register pair of the register pair, and at least one of the third register and the fourth register is the upper register, Based on the execution of the first instruction, the first instruction indicated by the value stored in the predetermined register pair. The first value stored in the area indicated by the address is set in the fourth register, and the second value stored in the area indicated by the second address that is continuous with the first address is the third value. Is set in a register, and the value of the predetermined register pair becomes a value indicating an address continuous with the second address, and is stored in the predetermined register pair based on the execution of the second instruction. The second value stored in the area indicated by the second address that is continuous with the first address indicated by the value is set in the fourth register, and the third address that is continuous with the second address is The third value stored in the area indicated is set in the third register, the value of the predetermined register pair becomes the value indicating the third address, and the CPU is different from the register pair. Third register A value stored in the ROM can be set to a combination of two registers of the fourth register with one instruction, and a predetermined function for changing the value of the predetermined register pair includes the first register The CPU has at least two of a first function for setting a value based on receiving one command and a second function for setting a value based on receiving the second command; The CPU has at least a specific register, and among the functions for setting a value in the specific register, the CPU has only a function for setting a value by a direct value as a function that is performed based on receiving a load instruction. It may be.
このような構成とすれば、レジスタペアよりも汎用性の低い第三のレジスタと第四のレジスタの二つの組み合わせに値を一命令でセットする機能を限定したため、遊技者の利益に係る値を不正に改ざんする不正行為を不正者が行い難くすることができる。また、第一の命令と第二の命令を前後の処理に応じて使い分けることができ、遊技制御プログラムの容量を削減することができる。また、第一の命令と第二の命令とを従来の命令で構成した場合と比較して遊技制御プログラムの容量を削減でき、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることができる。また、第三のレジスタと第四のレジスタはレジスタペアよりも汎用性が低いため、プログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる。また、命令の実行中に割込み処理が発生し、割込み処理によって命令実行途中のレジスタの値が意図しない値に書き換えられてしまったり、命令の実行が妨げられて処理が遅延してしまうといったことがなく、安定した遊技制御を行うことができる。 With such a configuration, the function for setting a value to one combination of the third register and the fourth register, which is less versatile than the register pair, is limited. It is possible to make it difficult for an unauthorized person to perform an unauthorized act of tampering. In addition, the first command and the second command can be properly used according to the preceding and subsequent processing, and the capacity of the game control program can be reduced. In addition, the capacity of the game control program can be reduced as compared with the case where the first instruction and the second instruction are configured by conventional instructions, and capacity can be allocated to a program for improving game play. Can enhance the interest of Further, since the third register and the fourth register are less versatile than the register pair, the program can be created with care, and coding errors and bugs can be suppressed. In addition, interrupt processing may occur during execution of an instruction, and the value of a register during instruction execution may be rewritten to an unintended value due to interrupt processing, or execution of the instruction may be hindered and processing may be delayed. And stable game control can be performed.
また、前記第三のレジスタと前記第四のレジスタの少なくとも何れかは、前記第二のビット長の演算が可能なレジスタの組み合わせを構成してもよい(例えば、Bレジスタは、16ビット長の演算が可能なレジスタペアであるBCレジスタを構成する)。 Further, at least one of the third register and the fourth register may constitute a combination of registers capable of calculating the second bit length (for example, the B register has a 16-bit length). A BC register, which is a register pair that can be operated, is configured).
このような構成とすれば、16ビット演算を行うレジスタペアの一方のレジスタの値を固定にすることができ、所定の命令前に設定した一方のレジスタの値を退避することなく所定の命令後の処理で使用することができプログラム容量を削減することができる場合がある。また、16ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑えることができる場合がある。 With this configuration, the value of one register of a register pair that performs 16-bit arithmetic can be fixed, and the value of one register set before a predetermined instruction can be saved without saving the value of one register. In some cases, the program capacity can be reduced. Also, when performing 16-bit arithmetic processing, a program can be created with care, and in some cases, coding errors and bugs can be suppressed.
また、前記第三のレジスタと前記第四のレジスタの少なくとも何れかは、前記第二のビット長の演算が可能なレジスタの組み合わせの上位レジスタであってもよい(例えば、Bレジスタは、16ビット長の演算が可能なレジスタペアであるBCレジスタの上位レジスタである)。 Further, at least one of the third register and the fourth register may be an upper register of a combination of registers capable of calculating the second bit length (for example, the B register is a 16-bit register). (It is a high-order register of the BC register, which is a register pair capable of long operations).
このような構成とすれば、16ビット演算を行うレジスタペアの上位8ビットの値を変更することができ、レジスタペアで示されるアドレスの上位を変更して所定の命令後の処理で使用することができる場合がある。例えば、第三のレジスタと第四のレジスタの各々を違う処理に利用(例えば、一方をINCTENSOU命令で利用し、他方をループ処理の回数をカウントするためのカウンタとして利用)することができ、数の限られたレジスタを有効に活用することができる。また、16ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑えることができる場合がある。 With such a configuration, the value of the upper 8 bits of the register pair that performs 16-bit arithmetic can be changed, and the upper part of the address indicated by the register pair can be changed and used in processing after a predetermined instruction. May be possible. For example, each of the third register and the fourth register can be used for different processing (for example, one is used by the INCENSOU instruction and the other is used as a counter for counting the number of loop processes). It is possible to effectively use the limited registers. Also, when performing 16-bit arithmetic processing, a program can be created with care, and in some cases, coding errors and bugs can be suppressed.
また、前記所定の命令は、前記第一のレジスタと前記第二のレジスタのうちの下位レジスタの値に所定値加算する処理(例えば、HLレジスタに2を加算する処理)を含んでいてもよい。 The predetermined instruction may include a process of adding a predetermined value to a value of a lower register of the first register and the second register (for example, a process of adding 2 to the HL register). .
このような構成とすれば、所定の命令終了後に所定のアドレスから所定値加算されたアドレスの値をレジスタに設定した状態で次の処理を行うことができ、例えば、アドレスを1加算する命令を所定値回実行するようなプログラムに比べ、プログラム容量を削減できる場合がある。 With such a configuration, the following processing can be performed in a state in which the value of an address obtained by adding a predetermined value from a predetermined address is set in a register after the completion of the predetermined instruction. In some cases, the program capacity can be reduced compared to a program that is executed a predetermined number of times.
また、前記第一のアドレスは、前記所定の命令を実行する前の前記第一のレジスタと前記第二のレジスタに格納された値によって示されるアドレス(例えば、174FH)の次のアドレス(例えば、1750H)であってもよい。 The first address is an address next to an address (for example, 174FH) (for example, 174FH) indicated by values stored in the first register and the second register before the predetermined instruction is executed. 1750H).
このような構成とすれば、繰り返し処理の際に最初にアドレスを指定することができ、繰り返し処理を抜けた際には所定の命令前のアドレスから所定値加算されたアドレスの値をレジスタに設定した状態で次の処理を行うことができる。特に、2種類のデータを交互に記憶したデータテーブルを利用する場合には、データテーブルから所望のデータを素早く読みだすことが可能となる。 With such a configuration, the address can be specified first in the repetition process, and when the repetition process is finished, the address value obtained by adding a predetermined value from the address before the predetermined instruction is set in the register. The following processing can be performed in the state that has been performed. In particular, when using a data table in which two types of data are alternately stored, desired data can be quickly read from the data table.
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、プログラムデータおよび一時的なデータを記憶する記憶手段(例えば、ROM306、RAM308(またはROM1306、RAM1308))と、前記記憶手段に記憶されているデータを用いて遊技の進行を中心とした遊技制御を行う主制御部(例えば、主制御部300(または、主制御部1300))と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部(例えば、第1副制御部400、第2副制御部500(または、第1副制御部1400、第2副制御部1500))と、を備えた遊技台であって、前記主制御部は、第一のビット長(例えば、8ビット長)の値を記憶可能な第一のレジスタ(例えば、Cレジスタ)および前記第一のビット長の整数倍の第二のビット長(例えば、16ビット長)の値を記憶可能な第二のレジスタ(例えば、HLレジスタ)を含む複数のレジスタ(例えば、BCレジスタ、DEレジスタ、HLレジスタ)を有し、前記第二のレジスタの値に前記第一のレジスタの値を加算して前記第二のレジスタに格納する所定の命令(例えば、「ADDTWOONE HL,C」命令)を備え、該所定の命令を前記遊技制御(例えば、特別図柄変動時間抽選処理)において実行することを特徴とする遊技台である。なお、第二のレジスタは、第一のビット長の整数倍の第二のビット長の値を記憶可能であればよく、例えば、第一のレジスタのビット長が4ビットである場合には4の倍数(4、8、12、…)をビット長とするレジスタでもよく、第一のレジスタのビット長が16ビットである場合には16の倍数(16、32、64、…)をビット長とするレジスタでもよい。 In addition, the pachinko machine 100 (or slot machine 1100) according to the present embodiment stores storage means (for example, ROM 306, RAM 308 (or ROM 1306, RAM 1308)) that stores program data and temporary data, and storage in the storage means. A main control unit (for example, main control unit 300 (or main control unit 1300)) that performs game control centered on the progress of the game using the stored data, and a game based on the game control of the main control unit A sub-control unit (for example, the first sub-control unit 400 and the second sub-control unit 500 (or the first sub-control unit 1400 and the second sub-control unit 1500)) that performs the production control. The main control unit includes a first register (for example, C register) capable of storing a value of a first bit length (for example, 8-bit length) and the first A plurality of registers (for example, BC register, DE register, HL) including a second register (for example, HL register) capable of storing a value of a second bit length (for example, 16-bit length) that is an integral multiple of the bit length A predetermined instruction (for example, “ADDTWOONE HL, C” instruction) that adds the value of the first register to the value of the second register and stores the value in the second register, The gaming machine is characterized in that the predetermined command is executed in the game control (for example, special symbol variation time lottery processing). The second register only needs to be able to store a value of the second bit length that is an integral multiple of the first bit length. For example, when the bit length of the first register is 4 bits, the second register is 4 bits. May be a register whose bit length is a multiple of (4, 8, 12,...), And when the bit length of the first register is 16 bits, a multiple of 16 (16, 32, 64,...) A register may be used.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、桁上がり処理を別途行う必要がないため、プログラム容量を削減することができ、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることが可能となる。また、処理時間を短縮でき、安定した遊技制御を行うことができる場合がある。また、プログラム容量を削減することでプログラムが見やすくなり、コーディングミスやバグの発生を抑制できる場合がある。さらに、ビット長が異なるレジスタ同士の加算演算を行うことができるため、例えば、従来は16ビット長のレジスタペアを2つ使用して行っていた加算演算を、16ビット長のレジスタペアと8ビット長のレジスタで行うことができる場合があり、数の限られたレジスタを有効に活用することができる。 According to the pachinko machine 100 (or the slot machine 1100) according to the present embodiment, it is not necessary to carry out a carry process separately, so that the program capacity can be reduced and a capacity is allocated to a program for improving game playability. It is possible to enhance the interest of the game. Further, there are cases where the processing time can be shortened and stable game control can be performed. In addition, by reducing the program capacity, it becomes easier to see the program, and in some cases, coding errors and bugs can be suppressed. Furthermore, since addition operations between registers having different bit lengths can be performed, for example, an addition operation that has conventionally been performed using two 16-bit register pairs can be performed with a 16-bit register pair and an 8-bit register. In some cases, a long register can be used, and a limited number of registers can be used effectively.
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、8ビット長の値を記憶可能な第一から第三のレジスタを少なくとも備えるCPUを備え、前記CPUは、16ビット長の値を記憶可能な第四のレジスタを少なくとも備え、前記CPUは、前記第一のレジスタおよび前記第二のレジスタからなるレジスタペアを用いた処理を実行可能であり、前記CPUを内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記CPUは、前記第四のレジスタの値に前記第三のレジスタの値を加算して該第四のレジスタに加算結果をセットすることが可能な第一の命令を実行可能であり、前記第一の命令は、前記レジスタペアの値に前記第三のレジスタの値を加算して該レジスタペアに加算結果をセットすることが可能であり、前記CPUは、前記レジスタペアの値から前記第三のレジスタの値を減算して該レジスタペアに減算結果をセットする第二の命令を実行可能であり、前記CPUにおける前記16ビット長の前記レジスタペアに対して前記8ビット長の値を加減算する機能は、前記第一の命令および前記第二の命令の両方によって実現されるが、前記CPUにおける前記16ビット長の前記第四のレジスタに対して前記8ビット長の値を加減算する機能は、前記第一の命令によってのみ実現されることを特徴とする遊技台である。 Further, the pachinko machine 100 (or slot machine 1100) according to the present embodiment includes a CPU including at least first to third registers capable of storing an 8-bit value, and the CPU has a 16-bit value. At least a fourth register, and the CPU is capable of executing a process using a register pair including the first register and the second register, and includes a microcomputer incorporating the CPU. The gaming machine is a pachinko machine or a slot machine, and the CPU adds the value of the third register to the value of the fourth register and adds the value to the fourth register. A first instruction capable of setting a result is executable, wherein the first instruction adds the value of the third register to the value of the register pair; The CPU can set the addition result to the register pair, and the CPU can subtract the value of the third register from the value of the register pair and set the subtraction result to the register pair. The function of adding / subtracting the 8-bit value to / from the 16-bit register pair in the CPU is realized by both the first instruction and the second instruction. The function of adding / subtracting the value of the 8-bit length to / from the fourth register of the 16-bit length in the CPU is realized only by the first instruction.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、ビット長が異なるレジスタの値同士の加減算を行うことができるため、例えば、従来は16ビット長のレジスタペアを2つ使用して行っていた加減算を、16ビット長のレジスタペアと8ビット長のレジスタで行うことができる場合があり、数の限られたレジスタを有効に活用することができる。しかも、レジスタの値同士で加減算を行うため、RAMなどを用いた場合に比べて加減算の処理時間を短縮でき、安定した遊技制御を行うことができる。また、第四のレジスタを用いた加減算を第一の命令のみで実行可能に構成することにより、遊技者の利益に係る値を不正に改ざんする不正行為(例えば、レジスタペアに対して有利な数値を加算するような命令を不正に埋め込むような行為)を不正者が行い難くすることができる。また、第一の命令と第二の命令とを従来の命令で構成した場合と比較して遊技制御プログラムの容量を削減できるため、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることができる場合がある。 According to the pachinko machine 100 (or the slot machine 1100) according to the present embodiment, values of registers having different bit lengths can be added and subtracted. For example, conventionally, two 16-bit register pairs are used. In some cases, the addition and subtraction performed can be performed with a 16-bit register pair and an 8-bit register, and a limited number of registers can be used effectively. In addition, since addition / subtraction is performed between register values, the processing time for addition / subtraction can be shortened compared to the case of using RAM or the like, and stable game control can be performed. In addition, by configuring such that addition / subtraction using the fourth register can be executed only by the first instruction, a fraudulent act of illegally tampering with the value related to the player's profit (for example, a numerical value advantageous to a register pair) It is possible to make it difficult for an unauthorized person to perform an act of improperly embedding an instruction to add the. In addition, since the capacity of the game control program can be reduced compared to the case where the first instruction and the second instruction are configured with conventional instructions, capacity can be allocated to a program for improving game play, There are cases where the interest of the game can be enhanced.
また、少なくとも第一から第四のレジスタを備え、上位レジスタおよび下位レジスタからなるレジスタペアを用いた処理を実行可能であるCPUと、遊技制御プログラムを記憶するROMと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記CPUは、第一の命令と第二の命令を含む複数の命令を実行可能であり、少なくとも前記第一のレジスタと前記第二のレジスタの二つのレジスタの組み合わせは、前記レジスタペアのうちの所定のレジスタペアであり、前記第三のレジスタと前記第四のレジスタの少なくともいずれかは、前記上位レジスタであり、前記第一の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスが示す領域に格納された第一の値が前記第四のレジスタにセットされ、該第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第二のアドレスと連続するアドレスを示す値になり、前記第二の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第四のレジスタにセットされ、該第二のアドレスと連続する第三のアドレスが示す領域に格納された第三の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第三のアドレスを示す値になり、前記CPUは、前記レジスタペアとは異なる前記第三のレジスタと前記第四のレジスタの二つのレジスタの組み合わせに前記ROMに格納された値を一命令でセットすることが可能であるとともに、前記所定のレジスタペアの値を変化させる所定の機能としては、前記第一の命令を受けたことに基づいて値をセットする第一の機能と前記第二の命令を受けたことに基づいて値をセットする第二の機能の二つを少なくとも有し、前記CPUは、少なくとも特定レジスタを備え、前記CPUは、前記特定レジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有していてもよい。 In addition, a microcomputer including at least first to fourth registers, a CPU capable of executing processing using a register pair including an upper register and a lower register, and a ROM storing a game control program is provided. The gaming table is a pachinko machine or a slot machine, and the CPU can execute a plurality of instructions including a first instruction and a second instruction, and at least the first register And the combination of the two registers of the second register is a predetermined register pair of the register pair, and at least one of the third register and the fourth register is the upper register, Based on the execution of the first instruction, the first instruction indicated by the value stored in the predetermined register pair. The first value stored in the area indicated by the address is set in the fourth register, and the second value stored in the area indicated by the second address that is continuous with the first address is the third value. Is set in a register, and the value of the predetermined register pair becomes a value indicating an address continuous with the second address, and is stored in the predetermined register pair based on the execution of the second instruction. The second value stored in the area indicated by the second address that is continuous with the first address indicated by the value is set in the fourth register, and the third address that is continuous with the second address is The third value stored in the area indicated is set in the third register, the value of the predetermined register pair becomes the value indicating the third address, and the CPU is different from the register pair. Third register A value stored in the ROM can be set to a combination of two registers of the fourth register with one instruction, and a predetermined function for changing the value of the predetermined register pair includes the first register The CPU has at least two of a first function for setting a value based on receiving one command and a second function for setting a value based on receiving the second command; The CPU has at least a specific register, and among the functions for setting a value in the specific register, the CPU has only a function for setting a value by a direct value as a function that is performed based on receiving a load instruction. It may be.
このような構成とすれば、レジスタペアよりも汎用性の低い第三のレジスタと第四のレジスタの二つの組み合わせに値を一命令でセットする機能を限定したため、遊技者の利益に係る値を不正に改ざんする不正行為を不正者が行い難くすることができる。また、第一の命令と第二の命令を前後の処理に応じて使い分けることができ、遊技制御プログラムの容量を削減することができる。また、第一の命令と第二の命令とを従来の命令で構成した場合と比較して遊技制御プログラムの容量を削減でき、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることができる。また、第三のレジスタと第四のレジスタはレジスタペアよりも汎用性が低いため、プログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる。また、命令の実行中に割込み処理が発生し、割込み処理によって命令実行途中のレジスタの値が意図しない値に書き換えられてしまったり、命令の実行が妨げられて処理が遅延してしまうといったことがなく、安定した遊技制御を行うことができる。 With such a configuration, the function for setting a value to one combination of the third register and the fourth register, which is less versatile than the register pair, is limited. It is possible to make it difficult for an unauthorized person to perform an unauthorized act of tampering. In addition, the first command and the second command can be properly used according to the preceding and subsequent processing, and the capacity of the game control program can be reduced. In addition, the capacity of the game control program can be reduced as compared with the case where the first instruction and the second instruction are configured by conventional instructions, and capacity can be allocated to a program for improving game play. Can enhance the interest of Further, since the third register and the fourth register are less versatile than the register pair, the program can be created with care, and coding errors and bugs can be suppressed. In addition, interrupt processing may occur during execution of an instruction, and the value of a register during instruction execution may be rewritten to an unintended value due to interrupt processing, or execution of the instruction may be hindered and processing may be delayed. And stable game control can be performed.
また、前記第一のレジスタ(例えば、Cレジスタ)は、第二のビット長の演算が可能なレジスタ(例えば、BCレジスタ)の組み合わせの下位レジスタであってもよい。 Further, the first register (for example, C register) may be a lower register of a combination of registers (for example, BC register) capable of calculating the second bit length.
このような構成とすれば、レジスタペアの上位8ビットの値を固定にすることができ、16ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる場合がある。また、レジスタペアの上位レジスタと下位レジスタの各々を違う処理に利用(例えば、一方をADDTWOONE命令で利用し、他方をループ処理の回数をカウントするためのカウンタとして利用)することができ、数の限られたレジスタを有効に活用することができる。 With such a configuration, the value of the upper 8 bits of the register pair can be fixed, and a program can be created with care when performing 16-bit arithmetic processing, which can lead to coding errors and bugs. In some cases, it can be suppressed. In addition, each of the upper register and the lower register of the register pair can be used for different processing (for example, one is used by the ADDTWOONE instruction and the other is used as a counter for counting the number of loop processing). Limited registers can be used effectively.
また、前記主制御部は、前記第二のレジスタ(例えば、HLレジスタ)に格納された値によって示される所定のアドレスに基づく連続する2つのアドレスに格納された第一の値と第二の値を、前記複数のレジスタのうちの前記第一のレジスタ(例えば、Cレジスタ)と第三のレジスタ(例えば、Bレジスタ)にそれぞれ転送する所定の第二の命令(例えば、「INCTENSOU BC,(HL)」命令)を備え、該所定の第二の命令を実行した後、前記所定の命令を行ってもよい。 In addition, the main control unit includes a first value and a second value stored at two consecutive addresses based on a predetermined address indicated by a value stored in the second register (for example, an HL register). Are transferred to the first register (for example, C register) and the third register (for example, B register) of the plurality of registers, respectively, for example, a predetermined second instruction (for example, “INCENSOUBC, ) "Instruction), and after executing the predetermined second instruction, the predetermined instruction may be executed.
このような構成とすれば、連続する2つのアドレスに格納された値の何れかを第一レジスタに加算することで、所定のアドレスに関連したアドレスを示す値を第一レジスタに設定した状態で次の処理を行うことができ、プログラム容量を削減できる場合がある。 With such a configuration, one of the values stored in two consecutive addresses is added to the first register, and a value indicating an address related to a predetermined address is set in the first register. The following processing can be performed, and the program capacity may be reduced.
また、前記主制御部は、前記所定の第二の命令を実行した後に所定の判定処理(例えば、上記ステップS1110〜S1111に示すような、Bレジスタ(第三のレジスタ)から特定の値(RAMの所定記憶領域に記憶された値など)を減算してキャリーが発生するか否かを判定する処理)を行い、該所定の判定処理の結果が所定の値のときに(例えば、キャリーが発生したときに)前記所定の命令を行ってもよい。 Further, the main control unit executes a predetermined determination process (for example, as shown in steps S <b> 1110 to S <b> 1111) from a B register (third register) after executing the predetermined second instruction. The value stored in the predetermined storage area) is subtracted to determine whether or not carry occurs, and the result of the predetermined determination process is a predetermined value (for example, carry occurs) The predetermined command may be performed.
このような構成とすれば、所定の判定処理の結果が所定の値のときに、所定のアドレスに関連したアドレスを示す値を第一レジスタに設定した状態で次の処理を行うことができ、プログラム容量を削減できる場合がある。 With such a configuration, when the result of the predetermined determination process is a predetermined value, the next process can be performed in a state in which a value indicating an address related to the predetermined address is set in the first register, The program capacity may be reduced.
また、前記主制御部は、前記所定の命令を行った後、再度前記所定の第二の命令と前記所定の判定処理を実行してもよい(例えば、上記ステップS1109でINCTENSOU命令を実行し、上記ステップS1112でADDTWOONE命令を実行した後に、上記ステップS1114でINCTENSOU命令を再度実行し、上記ステップS1116でBレジスタから特定の値を減算してキャリーが発生するか否かを判定する)。 Further, the main control unit may execute the predetermined second instruction and the predetermined determination process again after executing the predetermined instruction (for example, executing the INCENSOOU instruction in step S1109, After the ADDTWOONE instruction is executed in step S1112, the INCENSOU instruction is executed again in step S1114, and a specific value is subtracted from the B register in step S1116 to determine whether or not a carry occurs.
このような構成とすれば、例えば、2段階抽選の2回目のテーブルアドレスを設定することができ、2段階抽選のプログラムを見やすく作ることができ、コーディングミスやバグの発生を抑制できる場合がある。 With such a configuration, for example, the second table address of the two-stage lottery can be set, the two-stage lottery program can be made easy to see, and the occurrence of coding errors and bugs can be suppressed in some cases. .
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、遊技制御を行うCPUを有する主制御部(例えば、主制御部300(または、主制御部1300))と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部(例えば、第1副制御部400、第2副制御部500(または、第1副制御部1400、第2副制御部1500))と、を備えた遊技台であって、前記CPUは、所定のフラグ(例えば、Zフラグ、SZフラグ)を備え、前記主制御部は、第一の処理と第二の処理の間に実行される処理であって、前記第一の処理において第一の内容であった前記フラグの内容を、前記第二の処理の開始前に第二の内容に変化させる第三の処理を実行し、前記第二の処理は、前記第三の処理の実行結果が所定の結果である場合に行われる処理であって、前記第二の内容に変化した前記フラグを参照しない処理(例えば、CPRT命令、CPJR命令)であることを特徴とする遊技台である。 Further, the pachinko machine 100 (or slot machine 1100) according to the present embodiment includes a main control unit (for example, the main control unit 300 (or the main control unit 1300)) having a CPU for performing game control, and the main control unit. A sub-control unit (for example, the first sub-control unit 400, the second sub-control unit 500 (or the first sub-control unit 1400, the second sub-control unit 1500)) that controls the production of the game based on the game control The CPU includes a predetermined flag (for example, Z flag, SZ flag), and the main control unit is executed between the first process and the second process. A third process for changing the content of the flag, which was the first content in the first process, to the second content before the start of the second process, The second process is the result of the execution of the third process. A process performed when the result of the second does not refer to the flag changes to the content process (e.g., CPRT instruction, CPJR instruction) is a gaming table which is a.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、フラグの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの改ざんを未然に防止できる場合がある。このため、安定した遊技制御をおこなうことができ、遊技の公平性を担保することができる場合がある。 According to the pachinko machine 100 (or the slot machine 1100) according to the present embodiment, it is possible to eliminate the relationship between the change in the flag contents and the flow of program execution, making it difficult to analyze the program and altering the illegal program. Can be prevented in advance. For this reason, stable game control can be performed and the fairness of the game can be ensured.
また、前記第三の処理は、前記第一の内容であった前記フラグを参照しない処理であってもよい。 The third process may be a process that does not refer to the flag that is the first content.
このような構成とすれば、フラグの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの改ざんを未然に防止できる場合がある。このため、安定した遊技制御をおこなうことができ、遊技の公平性を担保することができる場合がある。 With such a configuration, it is possible to eliminate the relationship between the change in the flag contents and the flow of program execution, making it difficult to analyze the program and preventing unauthorized alteration of the program in some cases. For this reason, stable game control can be performed and the fairness of the game can be ensured.
また、本実施形態に係るパチンコ機100(またはスロットマシン1100)は、遊技制御を行うCPUを有する主制御部(例えば、主制御部300(または、主制御部1300))と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部(例えば、第1副制御部400、第2副制御部500(または、第1副制御部1400、第2副制御部1500))と、を備えた遊技台であって、前記CPUは、記憶手段(例えば、ROM306、RAM308、レジスタ、プログラムカウンタ)の所定領域へのアクセスが規制された命令(例えば、RES命令、RST命令)を備え、前記命令を前記遊技制御において実行することを特徴とする遊技台である。 Further, the pachinko machine 100 (or slot machine 1100) according to the present embodiment includes a main control unit (for example, the main control unit 300 (or the main control unit 1300)) having a CPU for performing game control, and the main control unit. A sub-control unit (for example, the first sub-control unit 400, the second sub-control unit 500 (or the first sub-control unit 1400, the second sub-control unit 1500)) that controls the production of the game based on the game control The CPU includes instructions (for example, RES instruction, RST instruction) in which access to a predetermined area of storage means (for example, ROM 306, RAM 308, register, program counter) is restricted. The gaming machine is characterized in that the command is executed in the game control.
本実施形態に係るパチンコ機100(またはスロットマシン1100)によれば、所定領域のアクセスを禁止することができるため、所定領域を保護することができ、所定領域の内容が予期しない数値に変化して不具合を起こすような事態を未然に防止できる場合がある。 According to the pachinko machine 100 (or the slot machine 1100) according to the present embodiment, since access to a predetermined area can be prohibited, the predetermined area can be protected, and the content of the predetermined area changes to an unexpected value. In some cases, it may be possible to prevent such a situation from occurring.
また、前記命令は、前記所定領域を除いた領域のうち予め定められた特定領域へのアクセスが可能な命令であってもよい。 The instruction may be an instruction that can access a predetermined specific area among the areas excluding the predetermined area.
このような構成とすれば、所定領域のアクセスを禁止しつつ、同時に特定領域の内容を読み書きすることができるため、所定領域の内容を保護することができるとともに、プログラム設計の自由度を低下させることがない。 With such a configuration, it is possible to read and write the contents of the specific area at the same time while prohibiting access to the predetermined area, so that the contents of the predetermined area can be protected and the degree of freedom in program design is reduced. There is nothing.
また、前記CPUは、前記所定領域へのアクセスが可能な命令をさらに備えてもよい。このような構成とすれば、所定領域のアクセスを禁止しつつ、同時に特定領域の内容を読み書きすることができるため、所定領域の内容を保護することができるとともに、プログラム設計の自由度を低下させることがない。 The CPU may further include an instruction capable of accessing the predetermined area. With such a configuration, it is possible to read and write the contents of the specific area at the same time while prohibiting access to the predetermined area, so that the contents of the predetermined area can be protected and the degree of freedom in program design is reduced. There is nothing.
また、前記命令を、前記記憶手段の所定領域にジャンプすることができないように構成すれば、不正プログラムを組み込んでユーザプログラムの先頭アドレスにジャンプさせる(ユーザプログラムを先頭アドレスから開始させて不正に初期状態とする)ような行為を未然に防止できる場合がある。 Further, if the instruction is configured not to be able to jump to a predetermined area of the storage means, a malicious program is incorporated and jumped to the top address of the user program (the user program is started from the top address and illegally initialized). In some cases, it is possible to prevent such actions.
なお、本発明に係る遊技台は、上述のパチンコ機100やスロットマシン1100に限定されない。したがって、例えば、上記実施形態では、リトルエンディアンのCPUの例を示したが、ビッグエンディアンのCPUに適用することもできる。また、8ビットCPUに限定されず、16ビットCPU、32ビットCPU等にも適用できる。また、命令の名称は上記実施形態で示した名称に限定されるものではない。 The game machine according to the present invention is not limited to the pachinko machine 100 and the slot machine 1100 described above. Therefore, for example, in the above-described embodiment, an example of a little endian CPU is shown, but the present invention can also be applied to a big endian CPU. Further, the present invention is not limited to an 8-bit CPU, and can be applied to a 16-bit CPU, a 32-bit CPU, and the like. Further, the names of the instructions are not limited to the names shown in the above embodiment.
また、主制御部300のCPU304(または、主制御部1300のCPU1304)に適用した例を示したが、他の制御部のCPUに適用してもよい。また、記憶手段は、ROM、RAMに限定されず、他の記憶手段を適用してもよい。 Moreover, although the example applied to CPU304 of the main control part 300 (or CPU1304 of the main control part 1300) was shown, you may apply to CPU of another control part. Further, the storage means is not limited to ROM and RAM, and other storage means may be applied.
また、図74(a)に示す、「紙幣投入口2002に紙幣を投入し、ベット2004およびスタート2006操作に基づいて抽選を実行し、抽選結果を抽選結果表示装置2008で表示し、当選時には特典コイン数を残クレジット数に加算し、キャッシュアウト2009が選択された場合には、レシート発行機2010から残クレジット数に対応するコードが記載されたレシートを発行するカジノマシン2000」に本発明を適用してもよい。また、アレンジボール遊技機や、じゃん球遊技機、スマートボール等に適当してもよい。 Also, as shown in FIG. 74 (a), “a bill is inserted into the bill insertion slot 2002, a lottery is executed based on the bet 2004 and start 2006 operation, and the lottery result is displayed on the lottery result display device 2008. When the number of coins is added to the number of remaining credits and cashout 2009 is selected, the present invention is applied to a casino machine 2000 that issues a receipt in which a code corresponding to the number of remaining credits is issued from the receipt issuing machine 2010. May be. Further, it may be suitable for an arrange ball game machine, a ball ball game machine, a smart ball, or the like.
また、同図(b)に示すように、本発明の構成を含む制御部を備えている携帯電話機3000、同図(c)に示すように、本発明の構成を含む制御部を備えているポータブルゲーム機4000、本発明の構成を含む制御部を備えている家庭用テレビゲーム機5000、に本発明を適用してもよい。 Further, as shown in FIG. 4B, a mobile phone 3000 having a control unit including the configuration of the present invention is provided, and as shown in FIG. 5C, a control unit including the configuration of the present invention is provided. The present invention may be applied to a portable game machine 4000 and a home video game machine 5000 including a control unit including the configuration of the present invention.
より具体的には、同図(b)における携帯電話機3000は、遊技者によって操作される操作部と、ゲームに関するデータを携帯電話回線を通して取得するデータ取得部と、取得したゲームに関するデータを記憶する記憶部と、記憶部に記憶したデータと操作部の操作とに基づいてゲームの制御を行う、本発明の構成を含む制御部と、を備えている。 More specifically, the cellular phone 3000 in FIG. 5B stores an operation unit operated by a player, a data acquisition unit that acquires data related to the game through a mobile phone line, and the acquired data related to the game. A storage unit, and a control unit including the configuration of the present invention, which controls the game based on the data stored in the storage unit and the operation of the operation unit.
また、同図(c)におけるポータブルゲーム機4000は、遊技者によって操作される操作部と、ゲームに関するデータを所定の記憶媒体(DVD等)から取得するデータ取得部と、取得したゲームに関するデータを記憶する記憶部と、記憶部に記憶したデータと操作部の操作とに基づいてゲームの制御を行う、本発明の構成を含む制御部と、を備えている。 Further, the portable game machine 4000 in FIG. 10C includes an operation unit operated by the player, a data acquisition unit that acquires data related to the game from a predetermined storage medium (DVD or the like), and acquired data related to the game. And a control unit including the configuration of the present invention, which controls the game based on the data stored in the storage unit and the operation of the operation unit.
また、同図(c)における家庭用テレビゲーム機5000は、遊技者によって操作される操作部と、ゲームに関するデータを所定の記憶媒体(DVD等)から取得するデータ取得部と、取得したゲームに関するデータを記憶する記憶部と、記憶部に記憶したデータと操作部の操作とに基づいてゲームの制御を行う、本発明の構成を含む制御部を備えている。 In addition, the home video game machine 5000 in FIG. 5C includes an operation unit operated by a player, a data acquisition unit that acquires data related to the game from a predetermined storage medium (DVD or the like), and an acquired game. A storage unit that stores data, and a control unit including the configuration of the present invention that controls the game based on the data stored in the storage unit and the operation of the operation unit are provided.
さらには、同図(d)に示すように、本発明の構成を含む制御部を備えるデータサーバ6000に適用してもよい。このデータサーバ6000からインターネット回線を介して同図(d)に示す家庭用テレビゲーム機5000に本発明の構成を含むプログラムコードをダウンロードするような場合がある。また、パチンコ機等の実機の動作を家庭用ゲーム機用として擬似的に実行するようなゲームプログラムにおいても、本発明を適用することができる。 Furthermore, as shown in FIG. 6D, the present invention may be applied to a data server 6000 including a control unit including the configuration of the present invention. In some cases, the program code including the configuration of the present invention is downloaded from the data server 6000 to the home video game machine 5000 shown in FIG. The present invention can also be applied to a game program in which the operation of a real machine such as a pachinko machine is simulated for a home game machine.
また、本発明に係る遊技台は、封入式遊技機に適用することもできる。また、主制御部、第1副制御部、および第2副制御部をワンチップで構成してもよいし、主制御部と第1副制御部で双方向の通信が可能に構成してもよい。また、主制御部と第1副制御部で双方向の通信を可能とする一方で、第1副制御部から第2副制御部への通信は一方向の通信としてもよい。
<実施形態3>
In addition, the gaming machine according to the present invention can be applied to an enclosed gaming machine. In addition, the main control unit, the first sub control unit, and the second sub control unit may be configured as a single chip, or the main control unit and the first sub control unit may be configured to allow bidirectional communication. Good. Moreover, while enabling bidirectional communication between the main control unit and the first sub control unit, communication from the first sub control unit to the second sub control unit may be one-way communication.
<Embodiment 3>
次に、図面を用いて、本発明の実施形態3に係るパチンコ機について詳細に説明する。
<主制御部の基本回路の構成例>
Next, a pachinko machine according to Embodiment 3 of the present invention will be described in detail with reference to the drawings.
<Example of basic circuit configuration of main controller>
次に、図75を用いて、主制御部300の基本回路302の構成例について説明する。同図は、マイクロプロセッサ3000を用いた場合の基本回路302の一構成例を示す図である。 Next, a configuration example of the basic circuit 302 of the main control unit 300 will be described with reference to FIG. This figure is a diagram showing an example of the configuration of the basic circuit 302 when the microprocessor 3000 is used.
図75に示すマイクロプロセッサ3000には、本発明にいう電気的制御手段の一例に相当し、図4に示す基本回路302の機能と、図4に示す乱数生成回路318の機能を有するものである。なお、図75では、図4に示す構成に対応する部分を、図4で用いた符号と同じ符号を付して説明する。 The microprocessor 3000 shown in FIG. 75 corresponds to an example of the electric control unit according to the present invention, and has the function of the basic circuit 302 shown in FIG. 4 and the function of the random number generation circuit 318 shown in FIG. . 75, parts corresponding to the configuration shown in FIG. 4 are described with the same reference numerals used in FIG.
図75に示すマイクロプロセッサ3000には、CPU304、ROM(内蔵ROM)306、RAM(内蔵RAM)308、外部バス制御回路3101、パラレル入力ポート3102、アドレスデコード回路3103、タイマ回路311、カウンタ回路312、リセット制御回路314に加え、割込み制御回路3100、クロック回路3200、乱数生成回路318が備えられており、これら全てが内部バス3300を介して互いに接続されている。内蔵ROM306は、記憶部の一例に相当する。なお、外部バス制御回路3101、パラレル入力ポート3102、アドレスデコード回路3103の3つが、図4のI/O310に相当するものである。 75 includes a CPU 304, a ROM (built-in ROM) 306, a RAM (built-in RAM) 308, an external bus control circuit 3101, a parallel input port 3102, an address decoding circuit 3103, a timer circuit 311, a counter circuit 312, In addition to the reset control circuit 314, an interrupt control circuit 3100, a clock circuit 3200, and a random number generation circuit 318 are provided, all of which are connected to each other via an internal bus 3300. The built-in ROM 306 corresponds to an example of a storage unit. Note that the external bus control circuit 3101, parallel input port 3102, and address decode circuit 3103 correspond to the I / O 310 in FIG. 4.
以下、上記説明した各部の詳細について説明する。まず、CPU304、ROM306、RAM308については、図4にて説明した通りである。外部バス制御回路3101は、IOリクエスト端子(XIORQ端子)、メモリリクエスト端子(XMREQ端子)、リード信号端子(XRD端子)、ライト信号端子(XWR端子)、16ビット幅のアドレス出力端子(A0端子〜A15端子)、および8ビット幅の入出力端子であるデータ入出力端子(D0端子〜D7端子)を有する。本実施形態では、このうちデータ入出力端子(D0端子〜D7端子)は、図4に示す各駆動回路324,326,330,334へのデータ出力と、各周辺制御回路からのデータ入力に用いられている。このデータ入出力端子(D0端子〜D7端子)によるデータの入出力先は、アドレス出力端子(A0端子〜A15端子)から出力されるアドレス信号、およびアドレスデコード回路3103から出力されるチップセレクト信号を用いて切り替えられる。 Hereinafter, details of each of the above-described units will be described. First, the CPU 304, the ROM 306, and the RAM 308 are as described with reference to FIG. The external bus control circuit 3101 includes an IO request terminal (XIORQ terminal), a memory request terminal (XMREQ terminal), a read signal terminal (XRD terminal), a write signal terminal (XWR terminal), a 16-bit width address output terminal (A0 terminal to A15 terminal) and data input / output terminals (D0 terminal to D7 terminal) which are input / output terminals having an 8-bit width. In this embodiment, the data input / output terminals (D0 terminal to D7 terminal) are used for data output to the drive circuits 324, 326, 330, and 334 shown in FIG. 4 and data input from the peripheral control circuits. It has been. The data input / output destinations of the data input / output terminals (D0 terminal to D7 terminal) are the address signal output from the address output terminals (A0 terminal to A15 terminal) and the chip select signal output from the address decode circuit 3103. Use to switch.
パラレル入力ポート3102は、4つの入力端子(P0端子〜P3端子)を有する。これらの入力端子(P0端子〜P3端子)は、図4に示すセンサ回路322に接続されており、センサ回路322からの信号の入力に用いられている。本実施形態では、第1特図始動口230への入球を検出する球検出センサからの信号がP0端子に入力され、第2特図始動口232への入球を検出する球検出センサからの信号がP1端子に入力され、普図始動口228への入球を検出する球検出センサからの信号がP2端子に入力される。また、センサ回路322からの信号は、乱数生成回路318が生成する乱数をCPU304に取得させるためのラッチ信号として、乱数生成回路318に出力する。この動作については後述する。 The parallel input port 3102 has four input terminals (P0 terminal to P3 terminal). These input terminals (P0 terminal to P3 terminal) are connected to the sensor circuit 322 shown in FIG. 4 and are used to input signals from the sensor circuit 322. In this embodiment, a signal from a sphere detection sensor that detects a ball entering the first special figure start port 230 is input to the P0 terminal, and a ball detection sensor that detects a ball entering the second special figure start port 232 is used. Is input to the P1 terminal, and a signal from a ball detection sensor that detects a ball entering the normal start port 228 is input to the P2 terminal. The signal from the sensor circuit 322 is output to the random number generation circuit 318 as a latch signal for causing the CPU 304 to acquire a random number generated by the random number generation circuit 318. This operation will be described later.
アドレスデコード回路3103は、14の出力端子(XCS0端子〜XCS13端子)を有する。この出力端子(XCS0端子〜XCS13端子)は、マイクロプロセッサ3000の外部にある周辺制御回路に接続されており、外部バス制御回路3101のデータ入出力端子(D0端子〜D7端子)から出力されるデータの送信先を切り替えるためのチップセレクト信号等の出力に用いられている。 The address decoding circuit 3103 has 14 output terminals (XCS0 terminal to XCS13 terminal). The output terminals (XCS0 terminal to XCS13 terminal) are connected to a peripheral control circuit outside the microprocessor 3000, and data output from the data input / output terminals (D0 terminal to D7 terminal) of the external bus control circuit 3101. Is used to output a chip select signal or the like for switching the transmission destination.
タイマ回路311は、時間の計測に用いられる。なお、タイマ回路311は設定された計測時間を過ぎると、タイムアウト信号をカウンタ回路312に出力する。一方、カウンタ回路312は、各種信号の立ち上がり(あるいは立ち下がり)の回数の計測に用いられる。このカウンタ回路で計測される信号には、マイクロプロセッサ3000のシステムクロックの他、上記タイマ回路からのタイムアウト信号、メモリの読み書き信号、メモリリクエスト信号、外部入出力の信号、割込みに対する応答信号等も計測することができる。 The timer circuit 311 is used for time measurement. The timer circuit 311 outputs a timeout signal to the counter circuit 312 when the set measurement time has passed. On the other hand, the counter circuit 312 is used for measuring the number of rises (or falls) of various signals. In addition to the system clock of the microprocessor 3000, signals measured by this counter circuit also measure timeout signals from the timer circuit, memory read / write signals, memory request signals, external input / output signals, interrupt response signals, etc. can do.
リセット制御回路314は、システムリセット入力端子(XSRST端子)と、リセット出力端子(XRSTO端子)の2つの端子を有する。このシステムリセット入力端子(XSRST端子)は電圧監視回路338に接続されている。このシステムリセット入力端子(XSRST端子)からシステムリセット信号(例えば一定時間Lレベルの信号)が入力されると、リセット制御回路314は、マイクロプロセッサ3000の内部の回路に対してこのシステムリセット信号を出力するとともに、マイクロプロセッサ3000の外部にある周辺制御回路に対してリセット出力端子(XRSTO端子)からリセット信号(例えば、LレベルからHレベルへの立ち上がり信号)が出力される。この場合、マイクロプロセッサ3000では、システムリセットと称する処理が実行され、各回路が初期化される。このシステムリセットが実行される一例として、電源投入時が挙げられる。なお、このシステムリセットについては後述する。 The reset control circuit 314 has two terminals, a system reset input terminal (XSRST terminal) and a reset output terminal (XRSTO terminal). This system reset input terminal (XSRST terminal) is connected to the voltage monitoring circuit 338. When a system reset signal (for example, a signal of L level for a predetermined time) is input from the system reset input terminal (XSRST terminal), the reset control circuit 314 outputs this system reset signal to the internal circuit of the microprocessor 3000. At the same time, a reset signal (for example, a rising signal from L level to H level) is output from the reset output terminal (XRSTO terminal) to the peripheral control circuit outside the microprocessor 3000. In this case, the microprocessor 3000 executes a process called system reset and initializes each circuit. An example in which this system reset is executed is when the power is turned on. This system reset will be described later.
また、リセット制御回路314は、ウォッチドッグタイマ(WDT)3141(復帰指示手段の一例に相当)、および指定エリア外走行禁止回路3142を備えている。WDT3141がタイムアウトになった場合や、CPU304が所定の範囲以外のアドレスを参照(指定エリア外走行)した場合には、リセット制御回路314は、マイクロプロセッサ3000の内部の回路に対してシステムリセット信号およびユーザリセット信号のいずれかを出力する。なお、システムリセット信号およびユーザリセット信号のどちらを出力するかは、ROM306内のプログラム管理エリア(詳細は後述)の設定に従う。また、マイクロプロセッサ3000の外部にある周辺制御回路に対しては、リセット出力端子(XRSTO端子)からリセット信号が出力される。 Further, the reset control circuit 314 includes a watch dog timer (WDT) 3141 (corresponding to an example of a return instruction unit), and a travel prohibition circuit 3142 outside the designated area. When the WDT 3141 times out or when the CPU 304 refers to an address outside the predetermined range (running outside the designated area), the reset control circuit 314 sends a system reset signal to the internal circuit of the microprocessor 3000 and One of the user reset signals is output. Whether to output the system reset signal or the user reset signal depends on the setting of the program management area (details will be described later) in the ROM 306. A reset signal is output from a reset output terminal (XRSTO terminal) to the peripheral control circuit outside the microprocessor 3000.
マイクロプロセッサ3000では、設定によって上記のシステムリセットか、あるいはユーザリセットと称する処理のいずれかを実行させることができる。なお、ユーザリセットでは、各回路が必要に応じて初期化される。このユーザリセットについては後述する。 The microprocessor 3000 can execute either the system reset or the process called user reset according to the setting. In the user reset, each circuit is initialized as necessary. This user reset will be described later.
上記指定エリア外走行は、プログラムが想定外の動作をしていることを意味する。この場合、CPU304が本来プログラムとして扱われるはずのないコードにより動作することになる。このような状況は、プログラムミスによる所謂暴走した状態の他に、何らかの不正によって生じている可能性がある。この場合、上記のシステムリセットの処理により、正常な動作に復帰させることができるようになっている。また、WDT3141がタイムアウトになった場合としては、プログラムミスによる暴走した状態や、電圧降下によりCPU304が本来設計した動作を行うことができなくなった場合等がある。この場合にも、上記のシステムリセットの処理により、正常な動作に復帰させることができるようになっている。 The traveling outside the designated area means that the program is operating unexpectedly. In this case, the CPU 304 operates with a code that should not be handled as a program. Such a situation may be caused by some sort of fraud other than a so-called runaway state due to a program mistake. In this case, normal operation can be restored by the system reset process described above. In addition, when the WDT 3141 times out, there are a runaway state due to a program error, a case where the CPU 304 cannot perform the originally designed operation due to a voltage drop, and the like. Also in this case, it is possible to return to normal operation by the above-described system reset processing.
割込み制御回路3100は、外部入力や内部状態の変化に応じて適宜処理を実行させるために割込みを発生させる。この割込み処理には、例えば外部からの入力(センサによる信号)を受け付けた場合に実行する処理がある。本実施形態では、乱数生成回路318が、乱数を取得するためのラッチ信号を受信した際にも、割込み処理を実行(割込みを発生)させることができるようになっている。なお、割込み制御回路3100は、内部情報レジスタ3101を備えており、この内部情報レジスタ3101には、乱数生成回路318で乱数更新周期を決める外部クロック(カウントクロック)の周期の異常、および乱数の更新に関するの異常、さらに、直前に発生したリセット要因の情報等が格納される。なお、この内部情報レジスタ3101は、異常検出情報保持手段の一例に相当する。 The interrupt control circuit 3100 generates an interrupt in order to appropriately execute a process according to a change in external input or internal state. This interrupt process includes, for example, a process executed when an external input (signal from a sensor) is received. In this embodiment, even when the random number generation circuit 318 receives a latch signal for acquiring a random number, it can execute interrupt processing (generate an interrupt). The interrupt control circuit 3100 includes an internal information register 3101. The internal information register 3101 includes an abnormality in the cycle of the external clock (count clock) that determines the random number update cycle by the random number generation circuit 318, and update of the random number. In addition, information on the reset factor that occurred immediately before is stored. The internal information register 3101 corresponds to an example of an abnormality detection information holding unit.
クロック回路3200は、図4に示す水晶発振器316b(以下、システム用水晶発振器316bと称する場合がある)から外部クロック入力端子(EX端子)を介して入力される外部クロック(この例では、24MHzのクロック)を所定の分周比(この例では、1/2)で分周し、分周後のシステムクロック(この例では、12MHzのクロック)をこのマイクロプロセッサ3000内部の各回路に供給する。また、このシステムクロックをシステムクロック出力端子(CLKO端子)を介してマイクロプロセッサ3000外部の周辺制御回路に出力する。 The clock circuit 3200 has an external clock (24 MHz in this example) input from the crystal oscillator 316b shown in FIG. 4 (hereinafter sometimes referred to as a system crystal oscillator 316b) via an external clock input terminal (EX terminal). Clock) is divided by a predetermined frequency division ratio (1/2 in this example), and the divided system clock (12 MHz clock in this example) is supplied to each circuit in the microprocessor 3000. The system clock is output to a peripheral control circuit outside the microprocessor 3000 via a system clock output terminal (CLKO terminal).
乱数生成回路318は、乱数を更新するためのクロック信号(カウントクロック)を用いて、乱数のラッチ信号を受信したときにこの更新された乱数を乱数レジスタ内に保持するものである。本実施形態では、水晶発振器316aから外部クロック入力端子(RCK端子)を介して入力される外部クロック信号を所定の分周比(この例では、1/2)で分周してこのカウントクロックに用いているが、マイクロプロセッサ3000内部のクロック信号を用いることもでき、この場合は水晶発振器316aは不要となる。乱数レジスタに保持された値は、乱数として読み出して使用することができる。なお、乱数レジスタから乱数を読み出すと、乱数レジスタが次の乱数をラッチすることを許容する許容状態とすることができる。この乱数生成回路318の詳細は後述する。 The random number generation circuit 318 uses the clock signal (count clock) for updating the random number and holds the updated random number in the random number register when the random number latch signal is received. In the present embodiment, the external clock signal input from the crystal oscillator 316a via the external clock input terminal (RCK terminal) is divided by a predetermined frequency division ratio (1/2 in this example) and is used as this count clock. Although it is used, a clock signal in the microprocessor 3000 can also be used. In this case, the crystal oscillator 316a is not necessary. The value held in the random number register can be read and used as a random number. Note that when a random number is read from the random number register, an allowable state in which the random number register is allowed to latch the next random number can be set. Details of the random number generation circuit 318 will be described later.
続いて、図9を用いて、リセットが実行された場合の処理の流れについて説明する。同図は、リセットの流れを示すフローチャートである。このフローチャートは、リセット制御回路314にシステムリセット信号が入力された場合、WDT3141がタイムアウトになった場合、あるいは指定エリア外走行を検知した場合に、マイクロプロセッサ3000の各回路で実行される処理である。 Next, a processing flow when reset is executed will be described with reference to FIG. This figure is a flowchart showing the flow of reset. This flowchart is a process executed by each circuit of the microprocessor 3000 when a system reset signal is input to the reset control circuit 314, when the WDT 3141 times out, or when traveling outside the designated area is detected. .
最初のステップSH01では、実行されるリセット動作が、システムリセット動作か否か判定される。マイクロプロセッサ3000で実行されるリセット動作には、システムリセット動作とユーザリセット動作の2つがある。ここで、システムリセット動作を実行する場合には、ステップSH03に進む。このシステムリセット動作は本発明にいう復帰処理の一例に相当する。また、システムリセット動作でないリセット動作、すなわちユーザリセット動作を実行する場合には、ステップSH11に進む。 In the first step SH01, it is determined whether or not the reset operation to be executed is a system reset operation. There are two reset operations executed by the microprocessor 3000: a system reset operation and a user reset operation. Here, when the system reset operation is executed, the process proceeds to step SH03. This system reset operation corresponds to an example of a return process according to the present invention. When executing a reset operation that is not a system reset operation, that is, a user reset operation, the process proceeds to step SH11.
ステップSH03では、第1内部回路初期化処理が実行される。この第1内部回路初期化処理は、CPU304のコアや内蔵レジスタ(タイマ回路311、カウンタ回路312、パラレル入力ポート3102、RAM308アクセスプロテクトレジスタ、割込み制御回路3100、乱数生成回路318を制御するレジスタ)の値を初期化する。この第1内部回路初期化処理が終了すると、ステップSH05に進む。 In step SH03, a first internal circuit initialization process is executed. This first internal circuit initialization process is performed by the CPU 304 core and built-in registers (timer circuit 311, counter circuit 312, parallel input port 3102, RAM 308 access protect register, interrupt control circuit 3100, and random number generation circuit 318). Initialize the value. When the first internal circuit initialization process is completed, the process proceeds to step SH05.
ステップSH05では、セキュリティチェック処理が実行される。このセキュリティチェック処理では、ユーザプログラムを基に計算された値が、ROM306のプログラム管理エリアに記憶されている認証コードを表す値と一致するか否かの判定を行う。すなわち、認証コードが正しいか否かの再計算を行う。ここにいうユーザプログラムが、本発明にいう記憶部(内蔵ROM306)に記憶された内容の一例に相当し、内蔵ROM306のプログラム管理エリアに記憶されている認証コードが、本発明にいう所定の認証情報の一例に相当する。認証コードが正しい場合にはステップSH07に進み、そうでない場合にはCPU304の動作を停止させる。本実施形態の遊技台では、このようにしてセキュリティチェックを行なうため、遊技台により安定した制御を行なわせることができる。 In step SH05, a security check process is executed. In this security check process, it is determined whether or not the value calculated based on the user program matches the value representing the authentication code stored in the program management area of the ROM 306. That is, recalculation of whether or not the authentication code is correct is performed. The user program here corresponds to an example of the contents stored in the storage unit (internal ROM 306) according to the present invention, and the authentication code stored in the program management area of the internal ROM 306 is the predetermined authentication according to the present invention. This corresponds to an example of information. If the authentication code is correct, the process proceeds to step SH07. If not, the operation of the CPU 304 is stopped. In the gaming machine of the present embodiment, the security check is performed in this way, so that stable control can be performed by the gaming machine.
ステップSH07では、固定延長処理が実行される。この固定延長処理では、予め設定した固定時間(例えば、ROM306のプログラム管理エリア内のセキュリティ時間設定の0〜2ビットを用いて設定)だけセキュリティモードを延長する。例えば、nをプログラム管理エリアに設定された時間とし、システムクロックをSCLKとした場合に、3n×2^24/SCLK秒だけ延長する。なお、この延長時間の経過時にXRSTO端子からリセット信号を出力させる。その後ステップSH09に進む。 In step SH07, a fixed extension process is executed. In this fixed extension process, the security mode is extended for a preset fixed time (for example, set using 0 to 2 bits of the security time setting in the program management area of the ROM 306). For example, when n is the time set in the program management area and the system clock is SCLK, the time is extended by 3n × 2 ^ 24 / SCLK seconds. A reset signal is output from the XRSTO terminal when this extended time has elapsed. Thereafter, the process proceeds to step SH09.
ステップSH09では、ランダム延長処理が実行される。このランダム延長処理では、予めランダムに選択されたランダム時間(例えば、管理エリア内のセキュリティ時間設定の3〜4ビットを用いて設定)だけセキュリティモードを延長する。例えばショートモードが設定されている場合には0〜Sμ秒、ミドルモードが設定されている場合には0〜Mμ秒、ロングモードが設定されている場合には、0〜Lμ秒それぞれ延長する(S<M<L)。この処理が終了するとユーザモードに移行し、CPU304は、メモリマップの0000H番地から処理を開始する。本実施形態では、主制御部300のメイン処理が開始されることになる。 In step SH09, a random extension process is executed. In this random extension process, the security mode is extended by a random time selected in advance (for example, setting using 3 to 4 bits of security time setting in the management area). For example, when the short mode is set, the time is extended from 0 to Sμ seconds, when the middle mode is set, 0 to Mμ seconds, and when the long mode is set, the time is extended from 0 to Lμ seconds ( S <M <L). When this process ends, the process shifts to the user mode, and the CPU 304 starts the process from address 0000H in the memory map. In the present embodiment, the main process of the main control unit 300 is started.
一方、ステップSH01で、ユーザリセット動作を実行する場合に進むステップSH11では、第2内部回路初期化処理が実行される。この第2内部回路初期化処理は、CPU304のコアや、乱数生成回路318を制御するレジスタを除く内蔵レジスタ(タイマ回路311、カウンタ回路312、パラレル入力ポート3102、RAM308アクセスプロテクトレジスタ、割込み制御回路3100)の値を初期化する。すなわち、この第2内部回路初期化処理では、乱数生成回路318を制御するレジスタの値はリセット前の状態が維持される。この第2内部回路初期化処理が終了すると、ユーザモードに移行し、CPU304は、メモリマップの0000H番地から処理を開始する。本実施形態では、主制御部300のメイン処理が開始されることになる。
<乱数生成回路>
On the other hand, in step SH11 which proceeds when executing the user reset operation in step SH01, the second internal circuit initialization process is executed. This second internal circuit initialization processing is performed by using internal registers (timer circuit 311, counter circuit 312, parallel input port 3102, RAM 308 access protect register, interrupt control circuit 3100) excluding the registers for controlling the core of CPU 304 and random number generation circuit 318. ) Value is initialized. That is, in the second internal circuit initialization process, the value of the register that controls the random number generation circuit 318 is maintained in the state before the reset. When the second internal circuit initialization process is completed, the process shifts to the user mode, and the CPU 304 starts the process from address 0000H in the memory map. In the present embodiment, the main process of the main control unit 300 is started.
<Random number generation circuit>
次に、図77を用いて、図75に示すマイクロプロセッサ3000の乱数生成回路318の詳細について説明する。同図は、図75に示す乱数生成回路318の内部構成図である。 Next, details of the random number generation circuit 318 of the microprocessor 3000 shown in FIG. 75 will be described with reference to FIG. This figure is an internal block diagram of the random number generation circuit 318 shown in FIG.
乱数生成回路318は、それぞれ異なる乱数を生成する4つの乱数生成チャンネルCH1〜CH4を備えている。なお、各チャンネル回路の内部構成は同一であるため、図77では、1つの乱数生成チャンネルCH1を示し、残りの乱数生成チャンネルCH2〜CH4については、図示を簡略化している。以下の説明では、この乱数生成チャンネルCH1を中心に乱数生成回路318について説明する。 The random number generation circuit 318 includes four random number generation channels CH1 to CH4 that generate different random numbers. Since the internal configuration of each channel circuit is the same, FIG. 77 shows one random number generation channel CH1, and the remaining random number generation channels CH2 to CH4 are simplified in illustration. In the following description, the random number generation circuit 318 will be described focusing on the random number generation channel CH1.
乱数生成回路318は、初期設定レジスタ3181と、周波数監視回路3182と、乱数更新回路3183と、乱数監視回路3184と、ノイズフィルタ3185と、ソフトラッチレジスタ3186と、ラッチ選択レジスタ3187と、乱数レジスタ3188と、乱数ラッチフラグレジスタ3189と、乱数割込み制御レジスタ3180を備えている。なお、周波数監視回路3182および乱数監視回路3184は、更新異常検出手段の一例に相当する。 The random number generation circuit 318 includes an initial setting register 3181, a frequency monitoring circuit 3182, a random number updating circuit 3183, a random number monitoring circuit 3184, a noise filter 3185, a soft latch register 3186, a latch selection register 3187, and a random number register 3188. And a random number latch flag register 3189 and a random number interrupt control register 3180. The frequency monitoring circuit 3182 and the random number monitoring circuit 3184 correspond to an example of update abnormality detection means.
初期設定レジスタ3181には、RCK端子からの外部クロック信号とシステムクロック(内部クロック信号)のうち、いずれのクロック信号を乱数更新回路3183で使用するかを決めるクロック選択情報が、プログラム管理エリア内の情報に基づいて設定される。RCK端子からの外部クロック信号とシステムクロック(内部クロック信号)は乱数更新回路3183の手前に設けられたマルチプレクサに入力される。初期設定レジスタ3181が上記クロック選択情報に従って更新クロック選択信号をこのマルチプレクサに入力することにより、この更新クロック選択信号によって選択されたクロック信号が乱数更新回路3183に入力されるようになっている。なお、外部クロック信号が選択されている場合、所定の分周比(この例では、1/2)で分周されたクロック信号が乱数更新回路3183に入力される。なお、分周されたクロック信号が、内部クロックよりも低い周波数でない場合には使用することができない。なお、本実施形態では、外部クロック信号が選択されているものとして説明を続ける。 The initial setting register 3181 stores clock selection information for determining which of the external clock signal from the RCK terminal and the system clock (internal clock signal) to use in the random number update circuit 3183 in the program management area. Set based on information. The external clock signal and the system clock (internal clock signal) from the RCK terminal are input to a multiplexer provided in front of the random number update circuit 3183. The initial setting register 3181 inputs the update clock selection signal to the multiplexer according to the clock selection information, so that the clock signal selected by the update clock selection signal is input to the random number update circuit 3183. When an external clock signal is selected, a clock signal divided by a predetermined frequency division ratio (in this example, 1/2) is input to the random number update circuit 3183. Note that the frequency-divided clock signal cannot be used when the frequency is not lower than that of the internal clock. In the present embodiment, the description will be continued assuming that the external clock signal is selected.
周波数監視回路3182は、内部クロック信号および外部クロック信号の周期を監視し、この周期が一定でなくなった場合に、クロック信号に異常があることを示す情報を、内部情報レジスタ3101に出力する。 The frequency monitoring circuit 3182 monitors the period of the internal clock signal and the external clock signal, and outputs information indicating that the clock signal is abnormal to the internal information register 3101 when the period is not constant.
乱数更新回路3183は、初期設定レジスタ3181によって選択されたクロック信号が入力され、このクロック信号の周期に従って乱数を更新する。更新した乱数の値は、乱数監視回路3184および乱数レジスタ3188にそれぞれ出力される。この乱数更新回路3183の詳細については、図79〜図82を用いて後述する。 The random number update circuit 3183 receives the clock signal selected by the initial setting register 3181 and updates the random number according to the cycle of the clock signal. The updated random number value is output to the random number monitoring circuit 3184 and the random number register 3188, respectively. Details of the random number update circuit 3183 will be described later with reference to FIGS. 79 to 82.
なお、乱数値の更新は、上述のユーザモードに移行した時に開始(自動開始)するようにしてもよいし、ユーザプログラムによって乱数レジスタ3188に乱数の最大値が設定されたときに開始(手動開始)するようにしてもよいし、自動開始したときは手動開始できないように(最大値が設定できないように)構成してもよい。また、乱数の最大値は、乱数生成チャンネルCH1〜CH4で個別に設定可能としてもよい。また、自動開始の場合には乱数値の更新の停止を不可能に構成し、手動開始の場合には乱数値の更新の停止を手動で可能に構成してもよい。また、手動開始の場合に、開始を指示するレジスタと、更新の停止を指示するレジスタと、更新の再開を指示するレジスタを個別に設けてもよい。 The update of the random number value may be started (automatic start) when shifting to the above-described user mode, or may be started (manual start) when the maximum random number value is set in the random number register 3188 by the user program. ), Or may be configured so that it cannot be manually started when the automatic start is performed (a maximum value cannot be set). Further, the maximum value of the random number may be set individually in the random number generation channels CH1 to CH4. Further, it may be configured such that the update of the random number value cannot be stopped in the case of automatic start, and the update of the random number value can be manually stopped in the case of manual start. In the case of manual start, a register for instructing start, a register for instructing stop of update, and a register for instructing restart of update may be provided separately.
また、16ビット乱数値および8ビット乱数値の一方を初期値が設定可能に構成し、他方を初期値が設定不可能に構成してもよいし、乱数が正常に更新されているか否かについて一方を監視可能とし、他方を監視不能としてもよい。また、後述する内部リセットの場合と外部リセットの場合で乱数値の初期値を異ならせてもよく(例えば、内部リセット時の初期値は33H、外部リセット時の初期値はCCH)、この場合、ユーザプログラムの初期設定などにおいて、乱数値の初期値に基づいてリセットの種類を判別し、リセットの種類に合わせた処理を実行してもよい。 In addition, one of the 16-bit random value and the 8-bit random value may be configured so that an initial value can be set, and the other may be configured so that an initial value cannot be set, and whether or not the random number is normally updated. One may be monitored and the other may not be monitored. In addition, the initial value of the random number value may be different between an internal reset and an external reset described later (for example, the initial value at the time of internal reset is 33H, and the initial value at the time of external reset is CCH). In the initial setting of the user program or the like, the type of reset may be determined based on the initial value of the random number value, and processing according to the type of reset may be executed.
乱数監視回路3184は、乱数更新回路3183からの入力に基づいて、乱数が正常に更新されているか否かを監視する。乱数の更新に異常がある場合、この乱数の更新に異常があることを示す情報を、内部情報レジスタ3101に出力する。 Based on the input from the random number update circuit 3183, the random number monitoring circuit 3184 monitors whether or not the random number has been updated normally. If there is an abnormality in updating the random number, information indicating that there is an abnormality in updating the random number is output to the internal information register 3101.
なお、上記の説明では、乱数生成回路318の内部に周波数監視回路3182および乱数監視回路3184が設けられている構成であったが、乱数生成回路318の外部に設けてもよい。また、上記の説明では、乱数更新回路3183とは別に周波数監視回路3182および乱数監視回路3184が設けられている構成であったが、乱数更新回路3183の内部にこれらの回路を設けてもよい。 In the above description, the frequency monitoring circuit 3182 and the random number monitoring circuit 3184 are provided inside the random number generation circuit 318, but may be provided outside the random number generation circuit 318. In the above description, the frequency monitoring circuit 3182 and the random number monitoring circuit 3184 are provided separately from the random number update circuit 3183. However, these circuits may be provided inside the random number update circuit 3183.
ノイズフィルタ3185には、P0端子〜P3端子からの入力が、パラレル入力ポート3102を介してラッチ信号として入力される。なお、図77では、P3端子、およびそのP3端子に接続された回路等は図示省略している。上述のごとく、P0端子には、第1特図始動口230への入球を検出する球検出センサからの信号が入力され、P1端子には、第2特図始動口232への入球を検出する球検出センサからの信号が入力され、P2端子には、普図始動口228への入球を検出する球検出センサからの信号が入力される。さらに、ノイズフィルタ3185には、初期設定レジスタ3181によって選択されたクロック信号が入力される。このクロック信号を利用して、P0端子〜P3端子からの入力に生じるノイズを除去した上で、ラッチ信号を検出する。このラッチ信号が検出されると、ハードラッチ信号が乱数レジスタ3188の手前に設けられたマルチプレクサに出力される。なお、このノイズ除去の詳細については、図78を用いて後述する。 Input from the P0 terminal to P3 terminal is input to the noise filter 3185 as a latch signal via the parallel input port 3102. In FIG. 77, the P3 terminal and the circuit connected to the P3 terminal are not shown. As described above, a signal from a ball detection sensor that detects a ball entering the first special figure starting port 230 is input to the P0 terminal, and a ball entering the second special figure starting port 232 is input to the P1 terminal. A signal from a sphere detection sensor to be detected is input, and a signal from a sphere detection sensor that detects a ball entering the normal start port 228 is input to the P2 terminal. Further, the clock signal selected by the initial setting register 3181 is input to the noise filter 3185. Using this clock signal, the noise generated at the inputs from the P0 to P3 terminals is removed, and then the latch signal is detected. When this latch signal is detected, a hard latch signal is output to a multiplexer provided in front of the random number register 3188. Details of the noise removal will be described later with reference to FIG.
ソフトラッチレジスタ3186には、乱数レジスタ3188から乱数をラッチすることを示す情報がCPU304からの指示によって適宜設定される。この情報が、ソフトラッチ信号として乱数レジスタ3188の手前に設けられたマルチプレクサに出力される。 Information indicating that a random number is latched from the random number register 3188 is appropriately set in the soft latch register 3186 according to an instruction from the CPU 304. This information is output as a soft latch signal to a multiplexer provided in front of the random number register 3188.
ラッチ選択レジスタ3187には、乱数レジスタ3188の手前に設けられたマルチプレクサからハードラッチ信号とソフトラッチ信号の何れを出力させるか、すなわち、乱数レジスタ3188にどちらのラッチ信号を入力するのかを示す情報が、CPU304からの指示によって適宜設定される。この情報を設定することにより、ハードラッチ信号とソフトラッチ信号を適宜使用して、乱数を取得することができる。 The latch selection register 3187 has information indicating which of the hard latch signal and the soft latch signal is output from the multiplexer provided in front of the random number register 3188, that is, which latch signal is input to the random number register 3188. These are set as appropriate according to instructions from the CPU 304. By setting this information, a random number can be obtained by appropriately using a hard latch signal and a soft latch signal.
乱数レジスタ3188には、3つの信号が入力される。1つ目の信号は、乱数更新回路3183から出力された乱数を表す信号である。2つ目の信号は、手前に設けられたマルチプレクサから出力された乱数ラッチ信号(ハードラッチ信号とソフトラッチ信号のうち、ラッチ選択レジスタ3187で設定された信号)である。3つ目の信号は、乱数の読み取りを示すリード信号である。 Three signals are input to the random number register 3188. The first signal is a signal representing a random number output from the random number update circuit 3183. The second signal is a random number latch signal (a signal set by the latch selection register 3187 out of the hard latch signal and the soft latch signal) output from the multiplexer provided in front. The third signal is a read signal indicating random number reading.
乱数レジスタ3188には、乱数更新回路3183によって更新された乱数を示す信号が常に入力されている。ここで、乱数ラッチ信号が入力されると、この入力タイミングにおける乱数が乱数レジスタ3188内にラッチ(保持)される。このとき、乱数レジスタ3188からは、乱数がラッチされていることを示すセット信号が、乱数ラッチフラグレジスタ3189に出力される。このときCPU304は、ラッチされている乱数を取得することができる。なお、CPU304により乱数が取得されると、乱数レジスタ3188にリード信号が入力される。この信号により新たな乱数ラッチ信号が入力された場合に乱数をラッチすることを許容する許容状態となる。換言すれば、一度乱数をラッチすると、リード信号が入力されるまで新たに乱数をラッチすることができない非許容状態となる。なお、リード信号が入力されてもラッチされている乱数は保持し続けるため、CPU304はラッチされている同一のタイミングでラッチされた乱数を何度でも取得することができる。このように構成することで乱数ラッチ信号を出力するセンサ回路におけるチャタリングの影響を押さえることができる。なお、リード信号が入力されたことを示すクリア信号が乱数ラッチフラグレジスタ3189に出力される。また、図77に示すように、乱数レジスタ3188が複数あることにより、同じ乱数更新回路から生成された乱数を様々なタイミングで取得することができる。 A signal indicating the random number updated by the random number update circuit 3183 is always input to the random number register 3188. Here, when a random number latch signal is input, a random number at this input timing is latched (held) in the random number register 3188. At this time, a set signal indicating that the random number is latched is output from the random number register 3188 to the random number latch flag register 3189. At this time, the CPU 304 can acquire the latched random number. Note that when a random number is acquired by the CPU 304, a read signal is input to the random number register 3188. When a new random number latch signal is input by this signal, an allowable state is entered in which the random number is allowed to be latched. In other words, once the random number is latched, it becomes an unacceptable state in which the random number cannot be newly latched until the read signal is inputted. Note that since the latched random number is held even when a read signal is input, the CPU 304 can acquire the latched random number any number of times at the same latched timing. With this configuration, the influence of chattering in the sensor circuit that outputs the random number latch signal can be suppressed. A clear signal indicating that the read signal has been input is output to the random number latch flag register 3189. As shown in FIG. 77, since there are a plurality of random number registers 3188, random numbers generated from the same random number update circuit can be acquired at various timings.
乱数ラッチフラグレジスタ3189には、乱数レジスタ3188に乱数がラッチされているか否かを示す情報が記憶される。なお、乱数ラッチフラグレジスタ3189は、乱数レジスタ3188にラッチされた乱数(16ビット乱数の全てまたは一部や、8ビット乱数の全てまたは一部)が読み出されたときに自動的にクリアされるように構成してもよいし、CPUによってクリアするように構成してもよい。 The random number latch flag register 3189 stores information indicating whether or not a random number is latched in the random number register 3188. The random number latch flag register 3189 is automatically cleared when the random number latched in the random number register 3188 (all or part of a 16-bit random number or all or part of an 8-bit random number) is read. You may comprise so that it may clear by CPU.
乱数乱数割込み制御レジスタ3180には、乱数レジスタ3188に乱数が保持された際に割込み制御回路に割込みを発生させるか否かを示す情報が設定される。この情報は乱数レジスタ3188毎に設定することができる。例えば、第1特図始動口230への入球により乱数発生チャンネルCH1の乱数がラッチされた場合には、割込みを発生させ、第2特図始動口232への入球により乱数発生チャンネルCH2の乱数がラッチされた場合には、割込みを発生させない、というような設定をすることができる。 In the random number random number interrupt control register 3180, information indicating whether or not the interrupt control circuit generates an interrupt when a random number is held in the random number register 3188 is set. This information can be set for each random number register 3188. For example, when the random number of the random number generation channel CH1 is latched by entering the first special figure starting port 230, an interrupt is generated, and by entering the second special figure starting port 232, the random number generating channel CH2 is set. If a random number is latched, it can be set such that no interrupt is generated.
上記説明した乱数生成回路318を用いて、本実施形態では、普図始動口282、第1特図始動口230、第2特図始動口232のそれぞれに入球したタイミングで乱数を取得する。なお、任意のタイミングでCPU304に乱数を取得させるように、プログラムを実行させることもできる。さらに異なる乱数生成チャンネルを使用してそれぞれ独立の乱数を取得し、それぞれのチャンネル毎に乱数生成範囲の最大値を設定することができる。 In the present embodiment, using the random number generation circuit 318 described above, random numbers are acquired at the timing when the ball enters each of the general view start port 282, the first special view start port 230, and the second special view start port 232. Note that the program can be executed so that the CPU 304 can acquire a random number at an arbitrary timing. Further, independent random numbers can be acquired using different random number generation channels, and the maximum value of the random number generation range can be set for each channel.
なお、本実施形態では、個別のチャンネルに対して乱数生成範囲を変更することができ、設定されていない場合には所定の最大値(例えば65535)が適用される例について説明したが、これ以外に例えば、乱数生成範囲を変更する場合に全てのチャンネルに対して乱数生成範囲を設定することを必要とする構成であってもよい。 In the present embodiment, the example in which the random number generation range can be changed for each individual channel and a predetermined maximum value (for example, 65535) is applied when the range is not set has been described. For example, when changing the random number generation range, the configuration may be required to set the random number generation range for all channels.
なお、普図始動口282に入球したタイミングで取得された乱数は、後述する普図当選乱数として用いられる。また、第1特図始動口230に入球したタイミングで取得された乱数は、加工(例えば、乱数生成回路とは異なる回路(例えば、基本回路302やカウンタ回路312)でカウントアップ(ダウン)される値を乱数に加算(減算)する処理など)されて、後述する特図1当選乱数として用いられる。さらに、第2特図始動口232に入球したタイミングで取得された乱数は、加工されて、後述する特図2当選乱数として用いられる。 In addition, the random number acquired at the timing of entering the general figure starting port 282 is used as a general figure winning random number described later. In addition, the random number acquired at the timing of entering the first special figure starting port 230 is counted up (down) by processing (for example, a circuit different from the random number generation circuit (for example, the basic circuit 302 or the counter circuit 312)). The value is added (subtracted) to the random number, etc.) and used as a special figure 1 winning random number described later. Furthermore, the random number acquired at the timing of entering the second special figure starting port 232 is processed and used as a special figure 2 winning random number described later.
なお、乱数の加工は、第1特図始動口230および第2特図始動口232に入球したタイミングで取得される乱数に限らず、他の契機(例えば、普図始動口282へに入球したタイミングなど)によって取得される乱数に対して行ってもよい。さらに、上述した乱数生成範囲の最大値を設定する場合においては、設定した最大値に応じた加工(例えば、この最大値を超えない値を乱数に加算する処理など)すれば良い。 The random number processing is not limited to the random number acquired at the timing of entering the first special figure starting port 230 and the second special figure starting port 232, but other triggers (for example, entering the normal figure starting port 282). You may perform with respect to the random number acquired by the timing of balling etc.). Furthermore, when the maximum value of the random number generation range described above is set, processing corresponding to the set maximum value (for example, a process of adding a value not exceeding the maximum value to the random number) may be performed.
また、乱数の加工は必ずしも行う必要はないが、乱数の加工を行うことは乱数の狙いうちの防止に有効に働く。例えば加工した後の乱数が更新されたか否かをCPU304によって監視した場合、乱数生成回路318内での乱数の更新が正常に行われているか否かを正確に判断することができない。このように、乱数を加工する場合には、上述の乱数監視回路3184による乱数の更新の監視がより有効に働くこととなる。 In addition, although it is not always necessary to perform random number processing, it is effective to prevent random numbers from being processed. For example, when the CPU 304 monitors whether or not the processed random number has been updated, it cannot be accurately determined whether or not the random number update in the random number generation circuit 318 is normally performed. Thus, when processing random numbers, monitoring of update of random numbers by the random number monitoring circuit 3184 described above works more effectively.
続いて、図78を用いてノイズフィルタ3185の動作について説明する。同図は、図77に示すノイズフィルタ3185による処理の一例を示す図である。 Next, the operation of the noise filter 3185 will be described with reference to FIG. This figure is a diagram showing an example of processing by the noise filter 3185 shown in FIG.
上述したように、ノイズフィルタ3185には、P0端子〜P3端子からの入力が、パラレル入力ポート3102を介してラッチ信号として入力され、初期設定レジスタ3181によって選択されたクロック信号が入力される。このノイズフィルタ3185は、例えば図78に示すように、クロック信号のダウンエッジ(HレベルからLレベルへの立ち下り信号)が4回連続で入力されるまで、P0端子〜P3端子からの入力信号がHレベルであれば、ハードウェアラッチ信号を出力するように構成されている。単純に信号の立ち上がりおよび立ち下がりだけを基にハードウェアラッチ信号を出力すると、ノイズが入った場合にもハードウェアラッチ信号が出力されてしまう。このため、上記のようにクロック信号を用いて、一定期間のセンサ信号を検出させることで、ノイズによりハードウェアラッチ信号が出力されてしまわないように構成されている。 As described above, the noise filter 3185 receives input from the P0 terminal to P3 terminal as a latch signal via the parallel input port 3102 and receives the clock signal selected by the initial setting register 3181. For example, as shown in FIG. 78, the noise filter 3185 receives the input signal from the P0 terminal to the P3 terminal until the down edge of the clock signal (falling signal from the H level to the L level) is continuously input four times. If H is at the H level, a hardware latch signal is output. If a hardware latch signal is simply output based on only the rising and falling edges of the signal, the hardware latch signal is output even when noise occurs. For this reason, the hardware latch signal is not output due to noise by detecting the sensor signal for a certain period using the clock signal as described above.
上記説明では、P0端子〜P3端子からの入力によりハードラッチ信号を出力させる例について説明したが、例えば、P0端子〜P3端子からの入力を一度CPU304で受け付けた上で乱数を取得する方法もある。この場合には、ハードラッチ信号ではなく、ソフトラッチレジスタ3186から出力されたソフトラッチ信号により、乱数をラッチさせることになる。この場合、上記ノイズフィルタによる処理と同様の処理がCPU304により実行される。すなわち、P0端子〜P3端子からの入力が所定期間継続したか否かを判定し、これを満たす場合にP0端子〜P3端子からの入力が正しく行われたと判定する。その後、ソフトラッチ信号を出力するようにソフトラッチレジスタ3186を設定する。 In the above description, an example in which a hard latch signal is output by an input from the P0 terminal to the P3 terminal has been described. . In this case, the random number is latched not by the hard latch signal but by the soft latch signal output from the soft latch register 3186. In this case, the CPU 304 executes processing similar to the processing by the noise filter. That is, it is determined whether or not the input from the P0 terminal to the P3 terminal has continued for a predetermined period. Thereafter, the soft latch register 3186 is set so as to output a soft latch signal.
次に、図79を用いて、図77に示す乱数更新回路3183の詳細について説明する。同図は、図77に示す乱数更新回路3183の詳細を示す図である。 Next, details of the random number update circuit 3183 shown in FIG. 77 will be described with reference to FIG. This figure shows the details of the random number update circuit 3183 shown in FIG.
図79(a)に示す乱数更新回路3183は、カウンタ回路3183aと、スタート値選択回路3183bと、最大値設定レジスタ3183cを備えている。なお、図77では、乱数更新回路3183に対して外部クロック信号および内部クロック信号のいずれかが乱数更新のための更新クロック信号として入力されることが示されているが、この図79に示す乱数更新回路3183には、さらにCPU304から最大値データが入力される。 The random number update circuit 3183 shown in FIG. 79A includes a counter circuit 3183a, a start value selection circuit 3183b, and a maximum value setting register 3183c. 77 shows that either the external clock signal or the internal clock signal is input to the random number update circuit 3183 as an update clock signal for updating the random number, the random number shown in FIG. Maximum value data is further input to the update circuit 3183 from the CPU 304.
カウンタ回路3183aからは、乱数(乱数データ)が出力される。この乱数の初期値は、スタート値選択回路3183bに設定されている。この初期値には、固定値(例えば0)、プログラム管理エリア内に記憶されているマイクロプロセッサ3000のIDナンバーを基にした値、および、乱数生成範囲内で抽選された値のいずれかが設定される。 A random number (random number data) is output from the counter circuit 3183a. The initial value of this random number is set in the start value selection circuit 3183b. The initial value is set to one of a fixed value (for example, 0), a value based on the ID number of the microprocessor 3000 stored in the program management area, and a value lottery within the random number generation range. Is done.
カウンタ回路3183aには、更新クロック信号の1クロック毎に1が加算されるカウンタが設けられており、このカウンタの値に、スタート値選択回路3183bから入力された乱数の初期値を加えた値を乱数として出力する。 The counter circuit 3183a is provided with a counter in which 1 is added for each clock of the update clock signal, and a value obtained by adding the initial value of the random number input from the start value selection circuit 3183b to the value of this counter is provided. Output as a random number.
カウンタ回路3183aから出力される乱数の最大値は、最大値設定レジスタ3183cに設定されている。なお、乱数の最大値は、CPU304からの命令に従って最大値設定レジスタ3183cに設定される。図79(b)には、この最大値が設定されている16ビットのレジスタが示されている。CPU304から最大値を設定する命令がない場合の初期値は、FFFFH(65535)である。なお、この最大値設定レジスタ3183cの変わりに、例えば、ROM306のプログラム管理エリア内に最大値を設定する領域を設け、設定された最大値を参照する構成であってもよい。 The maximum value of the random number output from the counter circuit 3183a is set in the maximum value setting register 3183c. Note that the maximum value of the random number is set in the maximum value setting register 3183c in accordance with an instruction from the CPU 304. FIG. 79 (b) shows a 16-bit register in which this maximum value is set. The initial value when there is no instruction for setting the maximum value from the CPU 304 is FFFFH (65535). Instead of the maximum value setting register 3183c, for example, an area for setting a maximum value may be provided in the program management area of the ROM 306, and the set maximum value may be referred to.
カウンタ回路3183aは、出力する乱数が最大値を超えた場合、この最大値に1を加えた値を減算した上で、この値を乱数として出力する。例えば最大値が65535の場合において、初期値とカウンタの値を足した値が、65534、65535、65536、65537の順に更新されるとすると、出力される乱数は、65534、65535、0(65536−(65535+1))、1(65537−(65535+1))のようになる。すなわち、最大値を超えると出力される乱数が0に戻ることになる。 When the output random number exceeds the maximum value, the counter circuit 3183a subtracts a value obtained by adding 1 to the maximum value, and then outputs this value as a random number. For example, in the case where the maximum value is 65535, if the value obtained by adding the initial value and the counter value is updated in the order of 65534, 65535, 65536, 65537, the output random numbers are 65534, 65535, 0 (655536). (65535 + 1)), 1 (65537- (65535 + 1)). That is, when the maximum value is exceeded, the output random number returns to zero.
また、カウンタ回路3183aの内部に設けられたカウンタの値が、最大値レジスタ3183cに設定された最大値になると、このカウンタの値が0にクリアされるとともに、カウンタ回路3183aからスタート値選択回路3183bに乱数の出力が一巡したことを示す信号(一巡信号)が出力される。この一巡信号を受けたスタート値選択回路3183bでは、乱数の初期値が更新される。この際更新される初期値が、最大値設定レジスタ3183cに設定されている乱数の最大値を超えている場合、例えば、固定値を用いたり、一度現在の乱数の最大値を乗じてから設定可能な乱数生成範囲の最大値(65535)で除算した値を用いることにより、乱数の最大値を超えない値(乱数生成範囲内の値)が初期値として再設定される。無論、最初からこの再設定方法などを用いて、乱数生成範囲内の値が初期値として設定されるようにしてもよい。 Further, when the value of the counter provided in the counter circuit 3183a reaches the maximum value set in the maximum value register 3183c, the value of this counter is cleared to 0, and from the counter circuit 3183a to the start value selection circuit 3183b. A signal (circular signal) indicating that the output of the random number has been completed is output. In the start value selection circuit 3183b that has received this round signal, the initial value of the random number is updated. When the initial value updated at this time exceeds the maximum value of the random number set in the maximum value setting register 3183c, for example, a fixed value can be used, or it can be set after multiplying the current maximum value of the random number once. By using a value divided by the maximum value (65535) of the random number generation range, a value that does not exceed the maximum random number value (a value within the random number generation range) is reset as an initial value. Of course, a value within the random number generation range may be set as an initial value by using this resetting method from the beginning.
なお、本実施形態では、最大値設定レジスタ3183cに設定された最大値は、カウンタ回路3183aからの出力が一巡した時点で自動的に更新されるが、例えばCPU304からの更新命令が来た時点で更新されるようにしてもよい。 In the present embodiment, the maximum value set in the maximum value setting register 3183c is automatically updated when the output from the counter circuit 3183a completes a cycle. It may be updated.
ここで、上記の乱数生成の範囲を図80および図81を用いて説明する。図80は、乱数生成範囲の最大値が設定されていない場合(デフォルトの状態)において出力される乱数の範囲を示す図である。また、図81は、図80とは異なる最大値が設定された場合に出力される乱数の範囲を示す図である。 Here, the range of the above random number generation will be described with reference to FIGS. FIG. 80 is a diagram illustrating a range of random numbers output when the maximum value of the random number generation range is not set (default state). FIG. 81 is a diagram showing a range of random numbers output when a maximum value different from that in FIG. 80 is set.
まず、図80(a)ではn周期目(n−1回目の一巡信号が出力された直後)の状況について説明する。図80(a)には、0〜65535の乱数生成範囲が示されている。また、出力される乱数の初期値がスタート値(X)として示されている。 First, FIG. 80 (a) will explain the situation in the nth cycle (immediately after the (n-1) th round signal is output). FIG. 80A shows a random number generation range of 0 to 65535. Further, the initial value of the output random number is shown as the start value (X).
乱数更新回路3183からは、更新クロックの1クロック毎に乱数が更新されて出力される。より具体的には、最初にスタート値(X)が出力され、その後1クロック毎に、X+1、X+2の順で更新された乱数が出力される。この乱数の値が乱数生成範囲の最大値である65535になると、上記説明した処理によって、次に出力される乱数は0に戻る。その後、1、2、の順で更新された乱数が出力され、X−1が出力された時点でこの乱数生成範囲を一巡したことになる。なお、このとき、乱数更新回路3183内のカウンタ回路3183aのカウンタの値は最大値と同じ値になっている。スタート値選択回路3183bに乱数の出力が一巡したことを示す信号(一巡信号)が出力される。 A random number is updated and output from the random number update circuit 3183 for each clock of the update clock. More specifically, the start value (X) is output first, and then the random numbers updated in the order of X + 1 and X + 2 are output every clock thereafter. When the value of the random number reaches 65535, which is the maximum value of the random number generation range, the random number output next is returned to 0 by the above-described processing. Thereafter, the random numbers updated in the order of 1, 2 are output, and when the X-1 is output, this random number generation range is completed. At this time, the counter value of the counter circuit 3183a in the random number update circuit 3183 is the same as the maximum value. The start value selection circuit 3183b outputs a signal (round signal) indicating that the random number output has rounded.
続いて1クロックが入力されると、乱数更新回路3183の出力はn+1周期目(n回目の一巡信号が出力された直後)に入る。このn+1周期目の状況について、図80(b)を用いて説明する。まず、乱数更新回路3183内のカウンタ回路3183aのカウンタの値は0にクリアされる。また、スタート値選択回路3183bでは、新たな初期値が設定される。図80(b)には、この新たな初期値がスタート値(X')として示されている。この新たな初期値と、カウンタ回路3183aのカウンタの値により、上記説明した流れと同様の流れで乱数が出力される。 Subsequently, when one clock is input, the output of the random number update circuit 3183 enters the (n + 1) period (immediately after the nth round signal is output). The situation in the (n + 1) th cycle will be described with reference to FIG. First, the counter value of the counter circuit 3183a in the random number update circuit 3183 is cleared to zero. In the start value selection circuit 3183b, a new initial value is set. FIG. 80B shows this new initial value as the start value (X ′). A random number is output in the same flow as the flow described above based on the new initial value and the counter value of the counter circuit 3183a.
次に、図81(a)では、図80に示す乱数生成範囲の最大値よりも小さい最大値が設定された場合のn周期目(n−1回目の一巡信号が出力された直後)の状況について説明する。図81(a)には、0〜65535のうち、設定された最大値によって図80(a)に示す乱数生成範囲よりも狭くなった乱数生成範囲が示されている。なお、出力されない乱数の範囲が左下がりのハッチングで示されている。また、出力される乱数の初期値がスタート値(Y)として示されている。 Next, in FIG. 81 (a), the situation in the nth cycle (immediately after the (n-1) th round signal is output) when the maximum value smaller than the maximum value of the random number generation range shown in FIG. 80 is set. Will be described. FIG. 81 (a) shows a random number generation range that is narrower than the random number generation range shown in FIG. 80 (a) by a set maximum value from 0 to 65535. Note that the range of random numbers that are not output is indicated by a left-down hatching. Further, the initial value of the output random number is shown as the start value (Y).
図80を用いて説明した状況と同様に、乱数更新回路3183からは、最初にスタート値(Y)が出力され、その後1クロック毎に、Y+1、Y+2の順で更新された乱数が出力される。この乱数の値が設定された最大値になると、上記説明した処理によって、次に出力される乱数は0に戻る。すなわち、左下がりのハッチングで示された範囲の乱数は出力されない。その後、1、2、の順で更新された乱数が出力され、Y−1が出力された時点でこの乱数生成範囲を一巡したことになる。なお、このとき、乱数更新回路3183内のカウンタ回路3183aのカウンタの値は設定された最大値と同じ値になっている。スタート値選択回路3183bに乱数の出力が一巡したことを示す信号(一巡信号)が出力される。 Similar to the situation described with reference to FIG. 80, the random number update circuit 3183 first outputs a start value (Y), and then outputs random numbers updated in order of Y + 1 and Y + 2 every clock. . When the value of the random number reaches the set maximum value, the random number output next is returned to 0 by the above-described processing. That is, random numbers in the range indicated by the left-down hatching are not output. Thereafter, the random numbers updated in the order of 1, 2 are output, and when the Y-1 is output, this random number generation range is completed. At this time, the counter value of the counter circuit 3183a in the random number update circuit 3183 is the same as the set maximum value. The start value selection circuit 3183b outputs a signal (round signal) indicating that the random number output has rounded.
続いて1クロックが入力されると、乱数更新回路3183の出力はn+1周期目(n回目の一巡信号が出力された直後)に入る。このn+1周期目の状況について、図81(b)を用いて説明する。図80(b)を用いて説明した場合と同様、乱数更新回路3183内のカウンタ回路3183aのカウンタの値は0にクリアされる。また、スタート値選択回路3183bでは、新たな初期値が設定される。図81(b)には、この新たな初期値がスタート値(Y')として示されている。この新たな初期値と、カウンタ回路3183aのカウンタの値により、上記説明した流れと同様の流れで乱数が出力される。 Subsequently, when one clock is input, the output of the random number update circuit 3183 enters the (n + 1) period (immediately after the nth round signal is output). The situation in the (n + 1) th cycle will be described with reference to FIG. As in the case described with reference to FIG. 80B, the counter value of the counter circuit 3183a in the random number update circuit 3183 is cleared to zero. In the start value selection circuit 3183b, a new initial value is set. FIG. 81 (b) shows this new initial value as the start value (Y ′). A random number is output in the same flow as the flow described above based on the new initial value and the counter value of the counter circuit 3183a.
なお、上記のように乱数生成チャンネルの最大値を適切に設定する以外に、例えば、ある乱数生成チャンネルでは乱数の最大値が65535であるが、別の乱数生成チャンネルでは乱数の最大値が255である、というように、チャンネル毎に乱数生成範囲を予め異ならせておいてもよい。この場合には、必要とされる乱数生成範囲に応じてチャンネルを選択すればよい。この場合には、最大値設定レジスタの容量削減や、最大値設定の処理負担を軽減することができる。さらに、予め設定可能な最大値を複数設定した上で、これらの中から適切な最大値を選択して設定するようにしても、最大値設定レジスタの容量削減や、最大値設定の処理負担を軽減することができる。 In addition to appropriately setting the maximum value of the random number generation channel as described above, for example, the maximum random number value is 65535 in one random number generation channel, but the maximum random number value is 255 in another random number generation channel. For example, the random number generation range may be different for each channel. In this case, the channel may be selected according to the required random number generation range. In this case, the capacity of the maximum value setting register can be reduced and the processing load for setting the maximum value can be reduced. Furthermore, even if a plurality of maximum values that can be set in advance are set and an appropriate maximum value is selected and set from these, it is possible to reduce the capacity of the maximum value setting register and to reduce the processing load for setting the maximum value. Can be reduced.
以上、乱数更新回路3183の乱数の出力について説明した。以下この乱数更新回路3183の変形例について図82を用いて説明する。同図は、最大値と最小値を設定した乱数生成範囲において、乱数を取得することができる範囲を示す図である。 The random number output from the random number update circuit 3183 has been described above. Hereinafter, a modification of the random number update circuit 3183 will be described with reference to FIG. The figure shows a range in which random numbers can be acquired in a random number generation range in which a maximum value and a minimum value are set.
図79から図81の例では、乱数生成範囲の最大値を変更する例について説明したが、例えば、最小値を設定できるものであってもよい。さらに、最大値だけでなく最小値を設定するレジスタを用意し、図82(a)に示すように、最小値、最大値を設定し、乱数生成範囲を設定できるものであってもよい。加えて、図82(b)に示すように、複数の乱数生成範囲を設定できるものであってもよい。すなわち、出力される乱数の範囲を設定出来る構成であればよい。また、上記説明では、説明を分かり易くするため出力される乱数が1ずつ増加する例について説明したが、これ以外の乱数の更新方法であってもよい。 In the example of FIGS. 79 to 81, the example in which the maximum value of the random number generation range is changed has been described. However, for example, the minimum value may be set. Further, a register for setting not only the maximum value but also the minimum value may be prepared, and as shown in FIG. 82A, the minimum value and the maximum value may be set to set the random number generation range. In addition, as shown in FIG. 82 (b), a plurality of random number generation ranges may be set. That is, any configuration can be used as long as the range of the output random number can be set. Further, in the above description, the example in which the output random number increases by 1 has been described for easy understanding, but other random number update methods may be used.
以下、図83を用いて本実施形態の遊技台で使用される乱数と、その主な導出源について説明する。同図は、本実施形態の遊技台で使用される乱数の導出源を表で示す図である。なお、この図で示される各乱数は、後述のフローチャートで用いられる。 Hereinafter, random numbers used in the game machine of this embodiment and main derivation sources will be described with reference to FIG. FIG. 2 is a table showing random number derivation sources used in the game machine of this embodiment. Each random number shown in this figure is used in a flowchart described later.
まず、特図1当選乱数、特図2当選乱数、および普図当選乱数は、上記乱数生成回路318の乱数生成チャンネルCH1〜CH4によって生成される乱数が基になる。この値を必要に応じて適宜加工してこれらの乱数として使用する。 First, the special figure 1 winning random numbers, the special figure 2 winning random numbers, and the universal figure winning random numbers are based on random numbers generated by the random number generation channels CH1 to CH4 of the random number generation circuit 318. This value is appropriately processed as necessary and used as these random numbers.
大当り用特図乱数、小当り用特図乱数、およびハズレ用特図乱数は、後述する主制御部タイマ割込み処理において生成される。すなわちこれらの乱数は、所謂ソフトウェア乱数である。なお、これらの乱数を生成する際に用いられる初期値生成用乱数は、主制御部メイン処理および主制御部タイマ割込み処理で生成される。 The big hit special figure random number, the small hit special figure random number, and the lost special figure random number are generated in a main control unit timer interrupt process to be described later. That is, these random numbers are so-called software random numbers. Note that the initial value generating random numbers used when generating these random numbers are generated by the main control unit main process and the main control unit timer interrupt process.
特図変動時間決定用乱数、および普図変動時間決定用乱数は、カウンタ回路312の値を乱数として用いる。本実施形態のカウント回路312は、マイクロプロセッサ3000のシステムクロックの他、上記タイマ回路からのタイムアウト信号、メモリの読み書き信号、メモリリクエスト信号、外部入出力の信号等もカウンタの対象として用いることができる。このため、これらを組み合わせることで規則性のない値を導出させ、上記の乱数に使用している。演出用乱数は、主制御部メイン処理および主制御部タイマ割込み処理で生成される。 For the special figure fluctuation time determination random number and the normal figure fluctuation time determination random number, the value of the counter circuit 312 is used as a random number. In the count circuit 312 of this embodiment, in addition to the system clock of the microprocessor 3000, a timeout signal from the timer circuit, a memory read / write signal, a memory request signal, an external input / output signal, and the like can be used as counter targets. . Therefore, by combining these, a value having no regularity is derived and used for the above random number. The production random number is generated by the main control unit main process and the main control unit timer interrupt process.
次に、図84を用いて、図75に示す割込み制御回路3100に設けられた内部情報レジスタ3101の詳細について説明する。上述したように、内部情報レジスタ3101には、乱数生成回路318で乱数更新周期を決める外部クロック(カウントクロック)の周期の異常、および生成された乱数値の異常、さらに、直前に発生したユーザリセットのリセット要因の情報等が格納される。この内部レジスタ3101には、第1内部情報レジスタと第2内部情報レジスタと、第3内部情報レジスタとが用意されている。 Next, details of the internal information register 3101 provided in the interrupt control circuit 3100 shown in FIG. 75 will be described with reference to FIG. As described above, the internal information register 3101 has an external clock (count clock) cycle abnormality that determines the random number update cycle by the random number generation circuit 318, an abnormality of the generated random number value, and a user reset that occurred immediately before. The reset factor information and the like are stored. The internal register 3101 includes a first internal information register, a second internal information register, and a third internal information register.
図84は、割込み制御回路3100の内部レジスタ3101に用意された第1内部情報レジスタを説明するための図である。図84(a)には、第1内部情報レジスタのうち、乱数生成回路318の異常を示す情報が記憶される範囲が示されている。この範囲は8ビットで構成されており、図84(b)には、これらの各ビットがどのような情報を示すものかが表で示されている。 FIG. 84 is a diagram for explaining the first internal information register prepared in the internal register 3101 of the interrupt control circuit 3100. FIG. 84A shows a range in which information indicating abnormality of the random number generation circuit 318 is stored in the first internal information register. This range is composed of 8 bits, and FIG. 84 (b) shows a table showing what information each bit represents.
CPU304は、後述するタイマ割込みが実行される度にこの第1内部情報レジスタの内容を確認する(図95のステップS235a)。この内容は、異常が発生した場合に遊技の進行を止める等の処理を行うか否かの判定に用いられる。例えば、本実施形態では、乱数生成回路318で異常が検出されると、入賞受付処理が実行されないように構成されている(図95のステップS235cおよび図96参照)。この他、球の打ち出しを行わないようにしたり、払出しを行わないようにしたり、あるいは、変動タイマの減算を行わないようにしてもよい。特に、乱数更新に異常があった場合、乱数更新回路3183に大電流が流れている状態(ラッチアップ状態)である可能性があるため、一度電源をオフにすることを報知するようにしてもよい。 The CPU 304 checks the contents of the first internal information register every time a timer interrupt described later is executed (step S235a in FIG. 95). This content is used to determine whether or not to perform processing such as stopping the progress of a game when an abnormality occurs. For example, the present embodiment is configured such that the winning acceptance process is not executed when an abnormality is detected by the random number generation circuit 318 (see step S235c in FIG. 95 and FIG. 96). In addition, the ball may not be launched, the payout may not be performed, or the variation timer may not be subtracted. In particular, when there is an abnormality in random number update, there is a possibility that a large current is flowing through the random number update circuit 3183 (latch-up state). Good.
ビット番号0は、乱数生成回路318の外部クロック(更新クロック)の異常を示すビットであり、0は異常なし、1は異常ありを示す。ビット番号1〜4は、乱数生成回路318で生成された乱数の異常を、各チャンネル毎に示すビットであり、0は異常なし、1は異常ありを示す。ビット番号5〜7は、不使用(0に固定)である。 Bit number 0 is a bit indicating an abnormality of the external clock (update clock) of the random number generation circuit 318. 0 indicates no abnormality and 1 indicates an abnormality. Bit numbers 1 to 4 are bits indicating an abnormality of the random number generated by the random number generation circuit 318 for each channel, where 0 indicates no abnormality and 1 indicates an abnormality. Bit numbers 5 to 7 are not used (fixed to 0).
第1内部情報レジスタの値が1である場合、CPU304から読み出されると0に設定(クリア)される。なお、内部情報レジスタはCPU304に一度に読み出されるため、第1内部情報レジスタが保持している値を0に設定(クリア)したい場合は、CPU304に第1内部情報レジスタの値を読み出した後に読み出した値を破棄すれば良い。また、上述の通り、システムリセットおよびユーザリセットのいずれかの処理が実行された場合に、この内部情報レジスタは、CPU304から読み出された場合と同様に各ビットは0に設定(クリア)されることとなる。 When the value of the first internal information register is 1, when read from the CPU 304, it is set (cleared) to 0. Since the internal information register is read by the CPU 304 at a time, if the value held in the first internal information register is set to 0 (cleared), the value is read after reading the value of the first internal information register to the CPU 304. You can discard the value. Further, as described above, when either system reset or user reset processing is executed, the internal information register is set (cleared) to 0 as in the case of reading from the CPU 304. It will be.
以上、乱数生成回路318の異常がどのように記憶されているかについて説明したが、この例と同様に上記リセット要因を示す情報についても、第1内部情報レジスタに記憶されている。なお、上記説明では、乱数生成チャンネルの異常をビット番号1〜4によってそれぞれのチャンネル毎に表していたが、1つのビットによっていずれかのチャンネルで異常が起きたか否かを表すようにしてもよい(全てのチャンネルで共通にしてもよい)。なお、本実施形態では、内部情報レジスタ3101が割込み制御回路3100内に設けられているが、他の回路に設けられているものであってもよい。なお、割込み制御回路3100の内部レジスタ3101に用意された第2内部情報レジスタおよび第3内部情報レジスタについては後述する。 As described above, how the abnormality of the random number generation circuit 318 is stored has been described, but information indicating the reset factor is also stored in the first internal information register as in this example. In the above description, the abnormality of the random number generation channel is represented for each channel by the bit numbers 1 to 4, but it may be represented by one bit whether an abnormality has occurred in any channel. (It may be common to all channels). In this embodiment, the internal information register 3101 is provided in the interrupt control circuit 3100, but may be provided in another circuit. The second internal information register and the third internal information register prepared in the internal register 3101 of the interrupt control circuit 3100 will be described later.
次に、図77に示す周波数監視回路3182における異常の検出例について、図85を用いて説明する。同図は、周波数監視回路3182における異常の検出例を示す図である。図85には、一番上からそれぞれ、正常時の動作、異常時の動作例1(異常時1)、異常時の動作例2(異常時2)が示されている。これらの例では、マイクロプロセッサ3000の内部クロックと、乱数生成回路318に入力される外部クロック(RCK)に加え、外部クロックの1周期に対する内部クロックの周期の比率が示されている。この検出動作では、外部クロックと内部クロックの周期の比率を監視し、この比率が変化した場合を異常として検出する。 Next, an example of abnormality detection in the frequency monitoring circuit 3182 shown in FIG. 77 will be described with reference to FIG. The figure shows an example of abnormality detection in the frequency monitoring circuit 3182. FIG. 85 shows, from the top, normal operation, abnormal operation example 1 (abnormal time 1), and abnormal operation example 2 (abnormal time 2), respectively. In these examples, in addition to the internal clock of the microprocessor 3000 and the external clock (RCK) input to the random number generation circuit 318, the ratio of the cycle of the internal clock to one cycle of the external clock is shown. In this detection operation, the ratio of the period between the external clock and the internal clock is monitored, and a case where this ratio changes is detected as an abnormality.
図85(a)に示す正常時の例では、外部クロックの1周期の間に内部クロックが2.5周期ある状態が継続している。すなわち、外部クロックと内部クロックの周期の比率が変化しないため、異常を示す情報は出力されない。 In the normal example shown in FIG. 85 (a), a state in which the internal clock has 2.5 cycles continues during one cycle of the external clock. That is, since the ratio of the period between the external clock and the internal clock does not change, information indicating abnormality is not output.
次に、図85(b)に示す異常時の動作例1(異常時1)では、外部クロックの1周期の間に内部クロックが4.5周期ある状態が示されている。図85(a)に示す状態からこの図85(b)に示す状態になった場合には、この時点で異常を示す情報が出力される。 Next, operation example 1 (abnormal time 1) at the time of abnormality shown in FIG. 85 (b) shows a state in which the internal clock has 4.5 cycles in one cycle of the external clock. When the state shown in FIG. 85 (a) is changed to the state shown in FIG. 85 (b), information indicating abnormality is output at this point.
次に、図85(c)に示す異常時の動作例2(異常時2)の最初には、外部クロックの1周期の間に内部クロックが0.5周期ある状態が示されている。仮に、図85(a)に示す状態からこの図85(c)の最初の状態になった場合には、この時点で異常を示す情報が出力される。さらに、図85(c)には、外部クロックの1周期の間に内部クロックが0.5周期ある状態に続き、外部クロックの1周期の間に内部クロックが2.5周期ある状態が継続している。この周期の比率が変化した時点でも異常を示す情報が出力される。 Next, at the beginning of operation example 2 (abnormal time 2) at the time of abnormality shown in FIG. 85 (c), there is shown a state in which the internal clock has 0.5 cycles in one cycle of the external clock. If the state shown in FIG. 85 (a) is changed to the first state shown in FIG. 85 (c), information indicating an abnormality is output at this point. Further, in FIG. 85 (c), the state in which the internal clock is 0.5 cycles in one cycle of the external clock continues, and the state in which the internal clock is 2.5 cycles in one cycle of the external clock continues. ing. Information indicating abnormality is output even when the ratio of the period changes.
上記の例では、外部クロックと内部クロックのいずれか一方の周期が異常になると、異常を示す情報が出力されることになる。すなわち、内部クロックを乱数の更新クロックとして使用した場合でも、異常を検出することができる。なお、外部クロックと内部クロックの比率が同じであれば、双方の周波数が変更されても異常を示す情報が出力されない。この場合、例えばプログラム管理エリア内に外部クロック又は内部クロックの周波数を示す情報を記憶させておき、この情報を用いて外部クロック又は内部クロックの異常を検出させることも可能である。なお、更新クロックの異常を検出する方法は上述した方法に限らず、更新クロックの周期の異常を検出可能な方法であれば他の方法を採用しても良い。 In the above example, when one of the external clock and the internal clock becomes abnormal, information indicating abnormality is output. That is, even when the internal clock is used as a random number update clock, an abnormality can be detected. If the ratio between the external clock and the internal clock is the same, no information indicating abnormality is output even if both frequencies are changed. In this case, for example, information indicating the frequency of the external clock or the internal clock can be stored in the program management area, and the abnormality of the external clock or the internal clock can be detected using this information. The method for detecting an abnormality of the update clock is not limited to the above-described method, and other methods may be adopted as long as the abnormality of the update clock cycle can be detected.
続いて、図77に示す乱数監視回路3184における異常の検出例について、図86を用いて説明する。同図は、乱数監視回路3184における異常の検出例を示す図である。この検出例では、1回の乱数の更新毎に更新前後の乱数を比較し、同じ乱数が生成されていないか否かをチェックする。仮に同じ乱数が生成されている場合には、異常を示す情報が出力される。図86(a)の例では、更新前後で同じ乱数が生成されていないため、異常を示す情報は出力されない。これに対して、図86(b)の例では、更新の途中で同じ乱数が生成されており(乱数4が2回生成されている)、この時点(2回目の4が出力された時点)で異常を示す情報が出力される。なお、上記の例では、乱数が更新される度にチェックを行っているが、この乱数更新周期よりも長い所定の周期毎でチェックさせてもよい。 Next, an example of abnormality detection in the random number monitoring circuit 3184 shown in FIG. 77 will be described with reference to FIG. This figure is a diagram showing an example of detecting an abnormality in the random number monitoring circuit 3184. In this detection example, the random numbers before and after the update are compared every time the random number is updated, and it is checked whether or not the same random number is generated. If the same random number is generated, information indicating abnormality is output. In the example of FIG. 86A, since the same random number is not generated before and after the update, information indicating abnormality is not output. On the other hand, in the example of FIG. 86 (b), the same random number is generated in the middle of the update (random number 4 is generated twice), and at this time (second time 4 is output) Will output information indicating anomalies. In the above example, the check is performed every time the random number is updated. However, the check may be performed every predetermined cycle longer than the random number update cycle.
上記説明したように乱数生成回路318では、周波数監視回路3182と乱数監視回路3184から異常を示す情報が内部情報レジスタ3101に対して出力される。また、内部情報レジスタ3101の値は、タイマ割込み毎にCPU304によって読み出される。 As described above, in the random number generation circuit 318, information indicating abnormality is output from the frequency monitoring circuit 3182 and the random number monitoring circuit 3184 to the internal information register 3101. Further, the value of the internal information register 3101 is read by the CPU 304 at every timer interruption.
このように周波数監視回路3182および乱数監視回路3184の双方を用いて乱数生成回路318の異常を監視することで、更新クロックの周波数に異常があるが、乱数の更新には異常がない異常状態(乱数監視回路3184のみでは検出できない異常状態)と、更新クロックの周波数に異常がないが、乱数の更新には異常がある異常状態の双方の異常状態を的確に把握することが可能になり、遊技制御の安定化を図ることができる。 By monitoring the abnormality of the random number generation circuit 318 using both the frequency monitoring circuit 3182 and the random number monitoring circuit 3184 as described above, there is an abnormality in the update clock frequency, but there is no abnormality in updating the random number ( An abnormal state that cannot be detected only by the random number monitoring circuit 3184) and an abnormal state in which the frequency of the update clock is normal but there is an abnormality in updating the random number can be accurately grasped. Control can be stabilized.
従来の遊技台では、遊技者に有利な抽選結果が導出されやすくなるように抽選に用いられる乱数に狙いを定めて不正が行われることがあり、遊技の公平性を担保することが困難になっている。しかし、本実施形態の遊技台によれば、上記の乱数生成318によって抽選に用いられる乱数の異常を把握したうえで対処することができるため、乱数の狙いうちを抑止して遊技の公平性を担保することができる。なお、周波数監視回路3182および乱数監視回路3184は内部情報レジスタ3101に記憶されている情報に関わらず継続してそれぞれ監視を行っている。 In conventional game machines, fraud may be made by targeting the random numbers used in the lottery so that it is easy to derive the lottery results advantageous to the player, making it difficult to ensure the fairness of the game. ing. However, according to the gaming table of the present embodiment, since the random number generation 318 described above can grasp the abnormality of the random number used in the lottery, it can be dealt with. Can be secured. Note that the frequency monitoring circuit 3182 and the random number monitoring circuit 3184 continuously monitor regardless of the information stored in the internal information register 3101.
ここで、内部情報レジスタ3101の値が、乱数生成回路318により生成される乱数が一巡する周期(乱数生成範囲内の全ての値を各1回出力するのに必要な期間、以下、乱数一巡周期と称する)だけ保持され、その後クリアされる構成であった場合の問題点について図87を用いて説明する。同図は、乱数が一巡する周期とタイマ割込みの周期を比較した図である。図87の一番上には、一番下に示すタイマ割込み周期t4よりも長い乱数一巡周期t1が示されている。また、図87の上から二番目および三番目には、タイマ割込み周期t4よりも短い乱数一巡周期t2およびt3がそれぞれ示されている。 Here, the value of the internal information register 3101 is a cycle in which the random number generated by the random number generation circuit 318 makes a round (a period required to output all the values in the random number generation range once, hereinafter, a random cycle) 87), the problem that occurs in the configuration that is held and then cleared will be described with reference to FIG. This figure is a comparison of the cycle of the random number and the timer interrupt cycle. At the top of FIG. 87, a random number round cycle t1 longer than the timer interrupt cycle t4 shown at the bottom is shown. Also, in the second and third from the top in FIG. 87, random number round cycles t2 and t3 shorter than the timer interrupt cycle t4 are shown, respectively.
上述したように内部情報レジスタ3101の内容はタイマ割込み毎に確認される。例えば乱数一巡周期が、図87に示す乱数一巡周期t1のようにタイマ割込み周期t4よりも長い場合、内部レジスタ3101に保持された値がクリアされる前にこの値を読み取ることができる。しかし、本実施形態では、乱数生成範囲の最大値を設定することができるため、これに従って乱数一巡周期が短くなってしまう事態が生じ得る。例えば乱数一巡周期が、図87に示す乱数一巡周期t2およびt3のようにタイマ割込み周期t4よりも短い場合、内部レジスタ3101に保持された値を読み取る前にこの値がクリアされる場合がある。すなわち、CPU304が異常を示す情報を取得することが出来なくなる場合がある。 As described above, the contents of the internal information register 3101 are confirmed for each timer interrupt. For example, when the random number round cycle is longer than the timer interrupt cycle t4 as in the random round cycle t1 shown in FIG. 87, this value can be read before the value held in the internal register 3101 is cleared. However, in this embodiment, since the maximum value of the random number generation range can be set, there may occur a situation where the random number cycle period is shortened accordingly. For example, when the round cycle of the random number is shorter than the timer interrupt cycle t4 as shown in the round trip cycles t2 and t3 of FIG. 87, this value may be cleared before reading the value held in the internal register 3101. That is, the CPU 304 may not be able to acquire information indicating abnormality.
本実施形態では、内部情報レジスタ3101の値が一旦セットされると、この値が読みとられるまでその値が保持される。すなわち、正常に戻ったか否かにかかわらずこの値が維持される。さらに、CPU304がこの値を読み取ると、読み取られた部分の値がクリアされるようになっている。このため、上記のように乱数一巡周期が変わってしまったとしても、内部情報レジスタ3101から異常を示す情報を取得することができる。なお、異常を示す値が読み取られた後に、異常が継続していれば再度異常を示す値がセットされる。
<主制御部メイン処理>
In this embodiment, once the value of the internal information register 3101 is set, the value is held until this value is read. That is, this value is maintained regardless of whether it has returned to normal. Further, when the CPU 304 reads this value, the value of the read portion is cleared. For this reason, even if the round cycle of the random number has changed as described above, information indicating abnormality can be acquired from the internal information register 3101. If the abnormality continues after the value indicating abnormality is read, the value indicating abnormality is set again.
<Main control unit main processing>
次に、図88を用いて、図4に示す主制御部300のCPU304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。 Next, main control unit main processing executed by the CPU 304 of the main control unit 300 shown in FIG. 4 will be described with reference to FIG. This figure is a flowchart showing the flow of main processing of the main control unit.
この主制御部メイン処理は上述のユーザモードにおける処理に相当し、システムリセットがかかった場合でも、ユーザーリセットがかかった場合でも実行される処理である。図4に示す主制御部300のRAM308には、大当り用特図1乱数カウンタ、小当り用特図1乱数カウンタ、ハズレ用特図1乱数カウンタ、およびこれらのカウンタの特図2用のカウンタが設けられている。また、そのRAM308には、特図1の保留数、特図1当選乱数、大当り用特図1乱数、小当り用特図1乱数、ハズレ用特図1乱数、特図1当否判定結果、特図1決定結果、特図1変動時間、およびこれらの、保留数や乱数や結果の特図2用のものがそれぞれが記憶される。またRAM308には、当否判定(抽選)の開始を保留することができる最大数(この例では4つ)の領域に区分けされた保留記憶部が特図1と特図2で別々に用意されている。特図1の保留記憶部には、後述するように、特図1当選乱数、大当り用特図1乱数、小当り用特図1乱数、ハズレ用特図1乱数、および特図1変動時間決定用乱数の5つの乱数を1セットにしてこれら5つの乱数が入賞順(保留順)に1セットずつ1領域ごとに格納される。 This main control unit main process corresponds to the above-described process in the user mode, and is a process executed regardless of whether a system reset is applied or a user reset is applied. The RAM 308 of the main control unit 300 shown in FIG. 4 has a special jackpot special random number counter, a small bonus special figure 1 random counter, a lost special figure 1 random number counter, and a counter for these counters for the special figure 2. Is provided. In addition, the RAM 308 stores the number of holds shown in FIG. The determination result of FIG. 1, the special figure 1 variation time, and the reservation number, random number, and result for the special figure 2 are stored. In addition, the RAM 308 has separate storage units that are divided into the maximum number of areas (four in this example) that can hold the start of the determination (lottery), separately for the special figure 1 and the special figure 2. Yes. As shown below, the reserved storage unit of Special Figure 1 determines Special Figure 1 winning random numbers, Special Bonus Figure 1 random numbers, Special Bonus Figure 1 random numbers, Loss Special Figure 1 random numbers, and Special Figure 1 variation time determination. One set of five random numbers for use is stored as a set in the winning order (holding order) for each area.
上述したように、図4に示す主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)340を設けている。この起動信号を入力した基本回路302のCPU304は、リセット割込によりリセットスタートしてROM306に予め記憶している制御プログラムに従って図88に示す主制御部メイン処理を実行する。 As described above, the main control unit 300 shown in FIG. 4 includes the start signal output circuit (reset signal output circuit) 340 that outputs the start signal (reset signal) when the power is turned on. The CPU 304 of the basic circuit 302 to which this activation signal has been input performs reset start by a reset interrupt and executes main control unit main processing shown in FIG. 88 according to a control program stored in advance in the ROM 306.
ステップS101では、初期設定1を行う。この初期設定1では、CPU304のスタックポインタ(SP)へのスタック初期値の設定(仮設定)、割込マスクの設定、I/O310の初期設定、RAM308に記憶する各種変数の初期設定等を行う。 In step S101, initial setting 1 is performed. In this initial setting 1, the stack initial value is set to the stack pointer (SP) of the CPU 304 (temporary setting), the interrupt mask is set, the I / O 310 is initialized, various variables stored in the RAM 308 are initialized, and the like. .
ステップS103では、低電圧信号がオンであるか否か、すなわち、電圧監視回路338が、電源制御部660が第2副制御部500を介して主制御部300に供給している電源の電圧値が所定の値(本実施形態では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(CPU304が電源の遮断を検知した場合)には繰り返しこのステップS103を実行し、低電圧信号がオフの場合(CPU304が電源の遮断を検知していない場合)にはステップS105に進む。なお、電源が投入された直後で未だ上記所定の値(9V)に達しない場合にも、供給電圧がその所定の値以上になるまでステップS103は繰り返し実行される。ステップS105では、初期設定2を行う。 In step S103, whether or not the low voltage signal is ON, that is, the voltage value of the power supply that the voltage monitoring circuit 338 supplies to the main control unit 300 via the second sub control unit 500 by the power supply control unit 660. Is less than a predetermined value (9v in this embodiment), it is monitored whether or not a low voltage signal indicating that the voltage has dropped is output. When the low voltage signal is on (when the CPU 304 detects that the power is cut off), this step S103 is repeatedly executed, and when the low voltage signal is off (when the CPU 304 has not detected the power supply is cut off). Then, the process proceeds to step S105. Even if the predetermined value (9 V) is not yet reached immediately after the power is turned on, step S103 is repeatedly executed until the supply voltage becomes equal to or higher than the predetermined value. In step S105, initial setting 2 is performed.
図89は、主制御部メイン処理における初期設定2の流れを示すフローチャートである。まず、ステップS1051では、カウンタ回路312に最大値や更新ソースを決める数値を設定する処理等、カウンタ回路312に関する設定処理を行う。なお、後述する主制御部タイマ割込処理を定期毎に実行するための周期を決める数値をタイマ回路311に設定する処理等、タイマ回路311に関する設定処理も併せて行う。ステップS1052では、第1副制御部400への出力ポートからクリア信号を出力する処理を行い、ステップS1053に進む。ステップS1053では乱数生成回路初期設定処理を行い、次いで、ステップS1054でRAM308への書き込みを許可する設定を行って、この初期設定2は終了になる。 FIG. 89 is a flowchart showing a flow of initial setting 2 in the main process of the main control unit. First, in step S1051, setting processing relating to the counter circuit 312 such as processing for setting a maximum value and a numerical value for determining an update source in the counter circuit 312 is performed. Note that setting processing related to the timer circuit 311 is also performed, such as processing for setting a numerical value for determining a cycle for executing a main control unit timer interrupt processing, which will be described later, to the timer circuit 311 at regular intervals. In step S1052, a process of outputting a clear signal from the output port to the first sub control unit 400 is performed, and the process proceeds to step S1053. In step S1053, a random number generation circuit initial setting process is performed, and in step S1054, a setting for permitting writing to the RAM 308 is performed, and the initial setting 2 is completed.
図90は、ステップS1053における乱数生成回路初期設定処理の流れを示すフローチャートである。この乱数生成回路初期設定処理は、上述のユーザモードにおいて行われる、図77に示す乱数生成回路318の初期設定処理である。まず、乱数の取り得る範囲(乱数生成範囲)範囲の設定を行い(ステップS1053a)、ステップS1053bに進む。上述のごとく、図77に示す乱数生成回路318では、生成する乱数の最大幅は0〜65535であり、この最大幅が乱数生成範囲のデフォルトになり、ここでは、図79〜図82を用いて詳細に説明したように、その乱数生成範囲をデフォルトとは異なる範囲に設定することができる。図88に示す主制御部メイン処理は、リセット(システムリセットまたはユーザーリセット)がかかる度に実行される処理であるため、乱数生成範囲の設定もリセットがかかる度に実行される。このようにすることで、図97、図98を用いて後述する乱数生成範囲の異常による問題を防止することができる。 FIG. 90 is a flowchart showing the flow of the random number generation circuit initial setting process in step S1053. This random number generation circuit initial setting process is an initial setting process of the random number generation circuit 318 shown in FIG. 77 performed in the above-described user mode. First, a range of random numbers (random number generation range) is set (step S1053a), and the process proceeds to step S1053b. As described above, in the random number generation circuit 318 shown in FIG. 77, the maximum width of the generated random number is 0 to 65535, and this maximum width is the default of the random number generation range. Here, FIGS. 79 to 82 are used. As described in detail, the random number generation range can be set to a range different from the default. Since the main process of the main control unit shown in FIG. 88 is a process that is executed every time reset (system reset or user reset) is performed, the setting of the random number generation range is also performed every time reset is performed. By doing in this way, the problem by abnormality of the random number generation range mentioned later using FIG. 97, FIG. 98 can be prevented.
ステップS1053bでは、図77に示す乱数レジスタ3188の読み出しを行うとともに、読み出した乱数を破棄する処理を行い、ステップS1053cに進む。この処理によって、乱数生成範囲のリセットがかかるごとに乱数レジスタ3188が乱数をラッチすることを許容する許容状態になる。この許容状態においては、仮に異常の可能性がある乱数が乱数レジスタに残っている場合でもすぐに乱数を更新させることができるため、異常の可能性がある乱数の使用を防止することができる。 In step S1053b, the random number register 3188 shown in FIG. 77 is read, and the read random number is discarded, and the process proceeds to step S1053c. By this processing, every time the random number generation range is reset, the random number register 3188 enters an allowable state that allows the random number to be latched. In this permissible state, even if a random number that may be abnormal remains in the random number register, it is possible to immediately update the random number, thereby preventing the use of a random number that may be abnormal.
本実施形態では、乱数生成回路318では、特図当選乱数の元になる乱数と普図当選乱数とを生成するが、制御状態に応じて出力チャンネルが異なる。すなわち、特図当選乱数の元になる乱数は、非確率変動中(特図低確率状態)にはチャンネルCH1から出力され、確率変動中(特図高確率状態)にはチャンネルCH2から出力される。また、普図当選乱数は、普図低確率状態(非電サポ中)にはチャンネルCH3から出力され、普図高確率状態(電サポ中)にはチャンネルCH4から出力される。なお、乱数生成回路318は、特図当選乱数そのものを生成するものであってもよいし、特図当選乱数の元になる乱数を生成するものであってもよい。また、普図当選乱数そのものを生成するものであってもよいし、普図当選乱数の元になる乱数を生成するものであってもよい。ステップS1053cでは、これら4チャンネル総てのチャンネルについてステップS1053aとステップS1053bが実行されたか否かを判定し、全チャンネルについて終了していなければ、ステップS1053aに戻り、1チャンネルごとに未了のチャンネルについて処理を行う。なお、乱数生成範囲の設定は、状態に応じて使用されているチャンネルのみを実行してもよいし、乱数生成範囲を設定されるチャンネルのみ実行するようにしてもよい。一方、全チャンネルについて終了していれば、この乱数生成回路初期設定処理は終了になる。 In the present embodiment, the random number generation circuit 318 generates a random number that is the basis of the special figure winning random number and the universal winning random number, but the output channel differs depending on the control state. That is, the random number that is the basis of the special figure winning random number is output from the channel CH1 during non-probability fluctuation (special figure low probability state), and is output from the channel CH2 during probability fluctuation (special figure high probability state). . Further, the normal winning random number is output from the channel CH3 in the normal low probability state (during non-electric support) and is output from the channel CH4 in the normal high probability state (during electric support). Note that the random number generation circuit 318 may generate the special figure winning random number itself, or may generate a random number that is the basis of the special figure winning random number. Further, the normal winning random number itself may be generated, or the random number that is the basis of the normal winning random number may be generated. In step S1053c, it is determined whether or not step S1053a and step S1053b have been executed for all four channels. If all channels have not been completed, the process returns to step S1053a for each unfinished channel. Process. Note that the setting of the random number generation range may be executed only for the channel used according to the state, or may be executed only for the channel for which the random number generation range is set. On the other hand, if all the channels have been completed, this random number generation circuit initial setting process is completed.
本実施形態では、以上説明した乱数生成回路初期設定処理が行われると、乱数生成回路318は乱数の更新を開始する。ユーザリセットがかかった場合、乱数は更新されており、その状態で乱数生成範囲が更新されることに基づいて遅滞なく新しい乱数生成範囲で乱数が生成されるようになっている。なお、ユーザリセットがかかった場合には、一度乱数の更新を止める処理を行い、乱数生成範囲の設定を行った後に乱数の更新を再開させる処理を行うようにしてもよい。また、主制御部のタイマ割込みはこの時点では禁止されており、乱数生成回路初期設定処理はタイマ割込み許可前に行っていることになるため、新たに乱数がラッチされたとしても各種抽選に使用されることはなく、抽選処理の安定化を図ることができる。 In the present embodiment, when the random number generation circuit initial setting process described above is performed, the random number generation circuit 318 starts updating the random number. When a user reset is applied, the random number is updated, and the random number is generated in the new random number generation range without delay based on the update of the random number generation range in that state. In addition, when a user reset is applied, a process for stopping the update of the random number may be performed once, and a process for restarting the update of the random number may be performed after setting the random number generation range. In addition, the timer interrupt of the main control unit is prohibited at this point, and the random number generation circuit initial setting processing is performed before the timer interrupt is permitted, so even if a new random number is latched, it is used for various lotteries. The lottery process can be stabilized.
また、乱数生成回路318が、上記乱数生成回路初期設定処理を実行する指示をCPU304から受けた場合に、乱数生成回路初期設定処理を行わないものであってもよい。すなわち、乱数生成回路318が乱数更新を行うか否かに関わらず、CPU304に乱数生成回路初期設定処理を実行する指示を行わせてもよい。この構成であれば、ユーザプログラムの解析結果と乱数生成回路318の動作が合わなくなるため、基本回路302の動作の解析が困難になり、不正を防止することができる。従って、不正により基本回路302の動作が不安定にされることがなく、遊技制御の安定化を図ることができる。仮に、不正により基本回路302の動作が解析された場合、遊技者に有利な操作が行われてしまう虞があるが、上記の構成であればこのような不正が防止できるため、遊技制御の安定化を図ることができる。 The random number generation circuit 318 may not perform the random number generation circuit initial setting process when receiving an instruction from the CPU 304 to execute the random number generation circuit initial setting process. That is, regardless of whether or not the random number generation circuit 318 performs the random number update, the CPU 304 may be instructed to execute the random number generation circuit initial setting process. With this configuration, the analysis result of the user program and the operation of the random number generation circuit 318 do not match, so that it becomes difficult to analyze the operation of the basic circuit 302 and fraud can be prevented. Therefore, the operation of the basic circuit 302 is not unstable due to fraud, and the game control can be stabilized. If the operation of the basic circuit 302 is analyzed by fraud, there is a possibility that an operation advantageous to the player may be performed. However, with the above configuration, such fraud can be prevented, so that game control is stable. Can be achieved.
さらに、乱数生成回路318が乱数更新を行うか否かに関わらず、CPU304に乱数生成回路初期設定処理を実行する指示を行わせた場合、ユーザリセットが実行された場合の処理を統一することができる。すなわち、ユーザリセット後に不安定な状態となった場合にも分岐処理を行わずにすむため、遊技制御の安定化を図ることができる。なお、上述した内容はユーザリセットがかかった場合について述べたが、システムリセットがかかった場合についても同様の効果を得ることができる。 Furthermore, regardless of whether or not the random number generation circuit 318 performs the random number update, if the CPU 304 is instructed to execute the random number generation circuit initial setting process, the process when the user reset is performed may be unified. it can. That is, even if the state becomes unstable after the user reset, it is not necessary to perform the branch process, so that the game control can be stabilized. In addition, although the above-mentioned content described the case where a user reset was applied, the same effect can be acquired also when a system reset is applied.
図88に示す主制御部メイン処理におけるステップS107では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(主制御部300の基本回路302を初期状態にする場合)にはRWMクリア処理(ステップS115)に進む。 In step S107 in the main process of the main control unit shown in FIG. 88, it is determined whether or not to return to the state before the power interruption (before the power interruption), and the state before the power interruption is not restored (main control part 300). When the basic circuit 302 is initialized, the process proceeds to the RWM clear process (step S115).
具体的には、最初に、図2に示す電源基板182に設けたRAMクリアスイッチ180を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、基本回路302を初期状態にすべくステップS113に進む。一方、RAMクリア信号がオフの場合(RAMクリアが必要でない場合)には、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップS113に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が、電断前にRAM308に設定した値と一致するか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が特定の値の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS109に進み、チェックサムの結果が特定の値以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS113に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS113に進む。 Specifically, first, a RAM clear signal transmitted when a store clerk or the like of a game store operates the RAM clear switch 180 provided on the power supply board 182 shown in FIG. 2 (indicating that there has been an operation). If the RAM clear signal is ON (RAM clear is necessary), the process goes to step S113 to set the basic circuit 302 to the initial state. move on. On the other hand, when the RAM clear signal is OFF (when the RAM clear is not necessary), the power status information stored in the power status storage area provided in the RAM 308 is read, and the power status information is information indicating suspend. It is determined whether or not. If the power status information is not information indicating suspend, the process proceeds to step S113 to set the basic circuit 302 to an initial state. If the power status information is information indicating suspend, a predetermined area of the RAM 308 is set. A checksum is calculated by adding all 1-byte data stored in (for example, all areas) to a 1-byte register whose initial value is 0. The result of the calculated checksum is It is determined whether or not the value matches the value set in the RAM 308 (whether or not the checksum result is normal). If the checksum result is a specific value (if the checksum result is normal), the process proceeds to step S109 to return to the state before the power interruption, and the checksum result is other than the specific value. In the case (when the result of the checksum is abnormal), the process proceeds to step S113 in order to set the pachinko machine 100 to the initial state. Similarly, when the power status information indicates information other than “suspend”, the process proceeds to step S113.
ステップS109では、データ書き戻し処理を行う。このデータ書き戻し処理では、電断時にRAM308に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタの値を読み出し、スタックポインタに再設定(本設定)する。また、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割込許可の設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割込処理(後述)に分岐する直前に行った命令の次の命令から処理を再開する。また、図4に示す主制御部300における基本回路302に搭載されているRAM308には、送信情報記憶領域が設けられている。このステップS109では、その送信情報記憶領域に、復電コマンドをセットする。この復電コマンドは、電源断時の状態に復帰したことを表すコマンドであり、後述する、主制御部300のタイマ割込処理におけるステップS231において、第1副制御部400へ送信される。 In step S109, data write-back processing is performed. In this data write-back process, the value of the stack pointer stored in the stack pointer save area provided in the RAM 308 at the time of power interruption is read and reset to the stack pointer (this setting). In addition, the value of each register stored in the register save area provided in the RAM 308 at the time of power interruption is read out and reset in each register, and then the interrupt permission is set. Thereafter, as a result of the CPU 304 executing the control program based on the reset stack pointer and registers, the pachinko machine 100 returns to the state when the power is turned off. That is, the processing is resumed from the instruction next to the instruction executed immediately before branching to the timer interrupt process (described later) immediately before the power interruption. A RAM 308 mounted on the basic circuit 302 in the main control unit 300 shown in FIG. 4 is provided with a transmission information storage area. In step S109, a power recovery command is set in the transmission information storage area. This power recovery command is a command indicating that the power has been restored to the state at the time of power-off, and is transmitted to the first sub-control unit 400 in step S231 in the timer interrupt process of the main control unit 300, which will be described later.
ステップS111では、WDT3141を起動させる処理を行う。ここでは、WDT3141の起動許可及び初期値の設定等を行う。なお、本実施形態では、WDT3141に、初期値として32.8msに相当する数値を設定する。 In step S111, processing for starting WDT 3141 is performed. Here, activation permission of WDT 3141, setting of an initial value, and the like are performed. In the present embodiment, a numerical value corresponding to 32.8 ms is set as an initial value in WDT 3141.
ステップS113では、RWMクリア処理を行う。このRWMクリア処理では、RAM308の全ての記憶領域の初期化を行う。また、主制御部のタイマ割込み許可の設定、スタックポインタへのスタック初期値の設定(本設定)なども併せて行う。さらにここで、主制御部300のRAM308に設けられた送信情報記憶領域に正常復帰コマンドをセットする。この正常復帰コマンドは、主制御部300のRWMクリア処理(ステップS113)が行われたことを表すコマンドであり、復電コマンドと同じく、主制御部300のタイマ割込処理におけるステップS231において、第1副制御部400へ送信される。ステップS115では、ステップS111と同様、WDT3141を起動させる処理を行う。 In step S113, RWM clear processing is performed. In this RWM clear process, all storage areas in the RAM 308 are initialized. In addition, setting of timer interrupt permission of the main control unit, setting of the stack initial value to the stack pointer (this setting), etc. are also performed. Further, here, a normal return command is set in the transmission information storage area provided in the RAM 308 of the main control unit 300. This normal return command is a command that indicates that the RWM clear process (step S113) of the main control unit 300 has been performed. 1 is transmitted to the sub-control unit 400. In step S115, similarly to step S111, processing for starting WDT 3141 is performed.
ステップS117では、基本乱数初期値更新処理を行う。ここにいう基本乱数とは、ソフトウェア乱数である、大当り用特図乱数、小当り用特図乱数、およびハズレ用特図乱数が相当する。なお、各乱数には特図1用の乱数と特図2用の乱数が存在するが、以降の説明では、特に断りを入れない限り両者を区別することなく単に特図として説明する。この基本乱数初期値更新処理では、大当り用特図乱数カウンタ、小当り用特図乱数カウンタ、およびハズレ用特図乱数カウンタそれぞれの初期値を生成するための初期値生成用乱数カウンタを更新する。各カウンタがRAM308に設けられている。なお、初期値生成用乱数カウンタは、後述するステップS204でも更新する。 In step S117, basic random number initial value update processing is performed. Here, the basic random number corresponds to a big hit special figure random number, a small hit special figure random number, and a lost special figure random number, which are software random numbers. Note that each random number includes a random number for special figure 1 and a random number for special figure 2, but in the following description, unless otherwise noted, both will be described as a special figure without distinction. In this basic random number initial value updating process, the initial value generating random number counter for generating the initial values of the big hit special figure random number counter, the small hit special figure random number counter, and the lost special figure random number counter is updated. Each counter is provided in the RAM 308. The initial value generation random number counter is also updated in step S204 described later.
ステップS119では演出乱数更新処理を行う。ここにいう演出乱数もソフトウェア乱数であって、この演出乱数は、演出を決定する元になる乱数のことであり、本実施形態では、後述する先読み予告を実行するか否かを抽選する際に用いられる乱数等が相当する。この演出乱数更新処理では、RAM308に設けられた演出乱数カウンタを更新する。なお、演出乱数カウンタは、後述するステップS211でも更新する。 In step S119, effect random number update processing is performed. The effect random number here is also a software random number, and this effect random number is a random number from which the effect is determined. In the present embodiment, when the lottery is executed to determine whether or not to perform a prefetch notice described later. It corresponds to the random number used. In this effect random number update process, the effect random number counter provided in the RAM 308 is updated. The effect random number counter is also updated in step S211 described later.
主制御部300は、所定の周期ごとに開始するタイマ割込処理を行っている間を除いて、ステップS117およびステップS119の処理を繰り返し実行する。これらのステップS117およびステップS119は、主処理の一例に相当する。
<主制御部タイマ割込処理>
The main control unit 300 repeatedly executes the processes of step S117 and step S119 except during a timer interrupt process that starts every predetermined period. These steps S117 and S119 correspond to an example of main processing.
<Main control unit timer interrupt processing>
次に、図91を用いて、主制御部300のCPU304が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。 Next, the main control unit timer interrupt process executed by the CPU 304 of the main control unit 300 will be described with reference to FIG. This figure is a flowchart showing the flow of the main control unit timer interrupt process.
図4に示す主制御部300は、所定の周期(本実施形態では約4msに1回)でタイマ割込信号を発生するタイマ回路311を備えており、このタイマ割込信号を契機として主制御部タイマ割込処理を所定の周期で開始する。 The main control unit 300 shown in FIG. 4 includes a timer circuit 311 that generates a timer interrupt signal at a predetermined cycle (in this embodiment, about once every 4 ms). The main control is triggered by this timer interrupt signal. The part timer interrupt process is started at a predetermined cycle.
ステップS201では、タイマ割込スタート処理を行う。このタイマ割込スタート処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。ステップS203では、WDT3141のカウント値が初期設定値(本実施形態では32.8ms)を超えてWDT3141割込が発生しないように(処理の異常を検出しないように)、WDT3141を定期的に(本実施形態では、主制御部タイマ割込の周期である約4msに1回)リスタートを行う。 In step S201, a timer interrupt start process is performed. In this timer interrupt start process, a process of temporarily saving each register value of the CPU 304 to the stack area is performed. In step S203, the WDT 3141 is periodically changed to prevent the WDT 3141 interrupt from occurring when the count value of the WDT 3141 exceeds the initial setting value (32.8 ms in the present embodiment) (so as not to detect a processing abnormality). In the embodiment, the restart is performed once every about 4 ms, which is the period of the main control unit timer interrupt.
ステップS205では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、各種の球検出センサを含む図4に示す各種センサ320の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ320ごとに区画して設けた信号状態記憶領域に記憶する。球検出センサの検出信号を例にして説明すれば、前々回のタイマ割込処理(約4ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割込処理(約2ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。 In step S205, input port state update processing is performed. In this input port state update process, the detection signals of various sensors 320 shown in FIG. 4 including various ball detection sensors are input via the input port of the I / O 310 to monitor the presence or absence of the detection signals, and various kinds of data are stored in the RAM 308. The data is stored in a signal state storage area provided for each sensor 320. If the detection signal of the sphere detection sensor is described as an example, information on the presence / absence of the detection signal of each sphere detection sensor detected in the timer interruption process (about 4 ms before) is stored in the RAM 308 for each sphere detection sensor. This information is read out from the previous detection signal storage area partitioned and stored in the RAM 308 in the previous detection signal storage area partitioned for each sphere detection sensor, and the previous timer interrupt processing (about 2 ms before) ) Is read from the current detection signal storage area provided for each sphere detection sensor in the RAM 308, and this information is read out from the previous detection signal storage area described above. To remember. Further, the detection signal of each sphere detection sensor detected this time is stored in the above-described current detection signal storage area.
また、ステップS205では、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が入賞判定パターン情報と一致するか否かを判定する。一個の遊技球が一つの球検出センサを通過する間に、約2msという非常に短い間隔で起動を繰り返すこの主制御部タイマ割込処理は何回か起動する。このため、主制御部タイマ割込処理が起動する度に、上述のステップS205では、同じ遊技球が同じ球検出センサを通過したことを表す検出信号を確認することになる。この結果、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域それぞれに、同じ遊技球が同じ球検出センサを通過したことを表す検出信号が記憶される。すなわち、遊技球が球検出センサを通過し始めたときには、前々回検出信号無し、前回検出信号有り、今回検出信号有りになる。本実施形態では、球検出センサの誤検出やノイズを考慮して、検出信号無しの後に検出信号が連続して2回記憶されている場合には、入賞があったと判定する。図4に示す主制御部300のROM306には、入賞判定パターン情報(本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)が記憶されている。このステップS205では、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合に、一般入賞口226、可変入賞口234、第1特図始動口230、および第2特図始動口232への入球、または普図始動口228の通過があったと判定する。すなわち、これらの入賞口234、230やこれらの始動口230、232、228への入賞があったと判定する。例えば、一般入賞口226への入球を検出する一般入賞口センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口226へ入賞があったと判定し、以降の一般入賞口226への入賞に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口226への入賞に伴う処理を行わずに後続の処理に分岐する。なお、主制御部300のROM306には、入賞判定クリアパターン情報(本実施形態では、前々回検出信号有り、前回検出信号無し、今回検出信号無しであることを示す情報)が記憶されている。入賞が一度あったと判定した後は、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、その入賞判定クリアパターン情報に一致するまで入賞があったとは判定せず、入賞判定クリアパターン情報に一致すれば、次からは上記入賞判定パターン情報に一致するか否かの判定を行う。 Further, in step S205, the information on the presence or absence of the detection signal of each sphere detection sensor stored in each storage area of the above-mentioned detection signal storage area, the previous detection signal storage area, and the current detection signal storage area is compared. It is determined whether or not the information on the presence or absence of detection signals for the past three times in the ball detection sensor matches the winning determination pattern information. This main control unit timer interrupt process that is repeatedly started at a very short interval of about 2 ms while one game ball passes one ball detection sensor is started several times. For this reason, every time the main control unit timer interrupt process is activated, in step S205 described above, a detection signal indicating that the same game ball has passed the same ball detection sensor is confirmed. As a result, a detection signal indicating that the same game ball has passed the same ball detection sensor is stored in each of the detection signal storage area, the previous detection signal storage area, and the current detection signal storage area. That is, when the game ball starts to pass through the ball detection sensor, there is no detection signal before the previous time, there is a previous detection signal, and there is a detection signal this time. In the present embodiment, in consideration of erroneous detection of the sphere detection sensor and noise, it is determined that there is a prize when the detection signal is stored twice continuously after no detection signal. The ROM 306 of the main control unit 300 shown in FIG. 4 stores winning determination pattern information (in this embodiment, information indicating that there is no previous detection signal, that there is a previous detection signal, and that there is a current detection signal). In this step S205, information on the presence or absence of detection signals for the past three times in each sphere detection sensor is predetermined winning determination pattern information (in this embodiment, no previous detection signal, previous detection signal, current detection signal present). In the case of the general winning port 226, the variable winning port 234, the first special figure starting port 230, and the second special figure starting port 232, or the ordinary drawing starting port 228. Is determined to have passed. In other words, it is determined that there has been a winning at these winning ports 234, 230 and the starting ports 230, 232, 228. For example, when the information on the presence / absence of the detection signals for the past three matches with the above-described winning determination pattern information in the general winning opening sensor for detecting the winning at the general winning opening 226, there is a winning at the general winning opening 226. If the information on the presence / absence of detection signals for the past three times does not match the above-described winning determination pattern information, the subsequent general winnings are performed. The process branches to the subsequent process without performing the process associated with winning the prize to the mouth 226. Note that the ROM 306 of the main control unit 300 stores winning determination clear pattern information (in this embodiment, information indicating that there is a detection signal before the previous time, no previous detection signal, and no current detection signal). After it is determined that there has been a single win, it is not determined that there has been a win until the information on the presence or absence of detection signals for the past three times matches the winning determination clear pattern information in each ball detection sensor, and the winning determination is cleared. If it matches the pattern information, it is next determined whether or not it matches the winning determination pattern information.
ステップS207およびステップS209では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップS117で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部300で使用する、大当り用特図乱数、小当り用特図乱数、およびハズレ用特図乱数それぞれを生成するための乱数カウンタを更新する。例えば、大当り用特図乱数として取り得る数値範囲が0〜100とすると、RAM308に設けた大当り用特図乱数を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。また、取得した値に1を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、0〜100の数値範囲で変動する大当り用特図乱数生成用の乱数カウンタから値を取得し、取得した値に1を加算した結果が、RAM308に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値(例えば7)である場合に、大当り用特図乱数生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、大当り用特図乱数生成用の乱数カウンタにセットすると共に、大当り用特図乱数生成用の乱数カウンタが次に1周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。なお、本実施形態では特図1に関する乱数を取得するためのカウンタと特図2に関する乱数を取得するためのカウンタとを別々に設けているが、同一のカウンタを用いてもよい。 In step S207 and step S209, basic random number initial value update processing and basic random number update processing are performed. In these basic random number initial value update processing and basic random number update processing, the value of the initial value generation random number counter performed in step S117 is updated, and then the jackpot special figure random number used in the main control unit 300, The random number counter for generating the special figure random number for small hits and the special figure random number for lose is updated. For example, if the possible numerical range for the big hit special figure random number is 0 to 100, the value is acquired from the random number counter storage area for generating the big hit special figure random number provided in the RAM 308, and 1 is added to the acquired value. Then, it is stored in the original random number counter storage area. At this time, if the result of adding 1 to the acquired value is 101, 0 is stored in the original random number counter storage area. If it is determined that the random number counter has made one round as a result of adding 1 to the acquired value, the value of the initial value generating random number counter corresponding to each random number counter is acquired and stored in the storage area of the random number counter. set. For example, a value is acquired from a random counter for generating a special jackpot random number for big hit that fluctuates in a numerical range of 0 to 100, and a result obtained by adding 1 to the acquired value is stored in a predetermined initial value storage area provided in the RAM 308. If the value is equal to the previously set initial value (for example, 7), the value is acquired as the initial value from the initial value generating random number counter corresponding to the random number counter for generating special jackpot random numbers, The initial value set this time is stored in the above-described initial value storage area in order to determine that the special counter random number counter for generating a big hit special round has been made next round. Keep it. In the present embodiment, the counter for acquiring the random number related to the special figure 1 and the counter for acquiring the random number related to the special figure 2 are separately provided, but the same counter may be used.
ステップS211では、演出乱数更新処理を行う。この演出乱数更新処理では、上記ステップS119と同様に、主制御部300で使用する演出用乱数を生成するための乱数カウンタを更新する。ステップS213では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置210に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、第1特図表示装置212に図柄を変動・停止表示する時間を計時するための特図1表示図柄更新タイマ、第2特図表示装置214に図柄を変動・停止表示する時間を計時するための特図2表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。 In step S211, effect random number update processing is performed. In this effect random number update process, a random number counter for generating an effect random number used by the main control unit 300 is updated, as in step S119. In step S213, timer update processing is performed. In this timer update processing, the normal symbol display symbol update timer for timing the time for the symbol to be changed / stopped on the normal symbol display device 210, and the time for the symbol to be changed / stopped to be displayed on the first special symbol display device 212 are timed. Special symbol 1 display symbol update timer for performing, special symbol 2 display symbol update timer for measuring the time for the symbol to be changed and stopped on the second special symbol display device 214, a predetermined winning effect time, a predetermined opening time Various timers including a timer for measuring a predetermined closing time, a predetermined end effect period, and the like are updated.
ステップS215では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口234、230や始動口230、232、228に入賞があった場合に、RAM308に各入賞口ごと、あるいは各始動口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。 In step S215, winning prize counter update processing is performed. In this winning opening counter update process, when winning holes 234, 230 and starting holes 230, 232, 228 are won, the RAM 308 stores the winning ball number storage area provided for each winning hole or for each starting hole. The value is read out, 1 is added, and the original prize ball number storage area is set.
また、ステップS217では、入賞受付処理を行う。この入賞受付処理では、第1特図始動口230に入賞があり、且つ、保留している特図1変動遊技の数が所定数(本実施形態では4)未満である場合には、所定の始動情報を取得する。すなわち、保留数が所定数未満であれば、図4に示す乱数生成回路318から、特図1当選乱数の元になるハードウェア乱数を得、加工を施すことによって特図1当選乱数を取得する。この点についてはさらに詳しく後述する。また、RAM308に設けた乱数カウンタ記憶領域から、大当り用特図1乱数、小当り用特図1乱数、およびハズレ用特図1乱数を取得する。大当り用特図1乱数、小当り用特図1乱数、およびハズレ用特図1乱数は、RAM308に設けられたソフトウェア乱数カウンタから導出されたソフトウェア乱数を加工した値(ソフトウェア乱数の値+Rレジスタの値+1)である。さらに、図4に示すカウンタ回路312から特図1変動時間決定用乱数を取得する。図4に示す乱数生成回路318、カウンタ回路312、RAM308に設けられたソフトウェア乱数カウンタ、および乱数加工を施す主制御部300を併せたものが、始動情報を生成して導出するものであり、始動情報導出手段(第1の始動情報導出手段,第2の始動情報導出手段)の一例に相当する。なお、ハードウェア乱数の生成に着目すれば、図4に示す乱数生成回路318あるいはカウンタ回路312が、始動情報を生成するものであり、始動情報生成手段(第1の始動情報生成手段,第2の始動情報生成手段)の一例に相当する。ここで取得された各種乱数(始動情報)は、RAM308に設けた特図1の保留記憶部の、入賞順(保留順)に応じた空いている領域に、1セットの始動情報として記憶される。この特図1の保留記憶部は、第1特図始動口230(第1の始動領域)に遊技球が進入した場合に取得した始動情報を所定の第1上限個数(ここでは4個)まで記憶可能な第1の始動情報記憶手段に相当する。このとき各種乱数(始動情報)をRAM308に設けた一時領域に一旦記憶し、その一時領域に記憶された値を特図1の保留記憶部に記憶してもよく、この場合、一時領域を第1の始動情報記憶手段としてもよいし、特図1の保留記憶部および一時領域を第1の始動情報記憶手段としてもよい。また、主制御部300のCPU304は、RAM308に記憶されている特図1の保留数の値に1を加算し、特図1の保留数が1増加する。したがって、主制御部300のCPU304が保留手段の一例に相当する。また、特図2についても、特図1と同様に始動情報である各乱数を取得し、取得した乱数をRAM308に設けた特図2の保留記憶部に、1セットの始動情報として同様に記憶され、さらに、RAM308に記憶されている特図2の保留数の値に1を加算する。特図2の保留記憶部は、第2特図始動口232(第2の始動領域)に遊技球が進入した場合に取得した始動情報を所定の第2上限個数(ここでは4個)まで記憶可能な第2の始動情報記憶手段に相当する。このとき各種乱数(始動情報)をRAM308に設けた一時領域に一旦記憶し、その一時領域に記憶された値を特図2の保留記憶部に記憶してもよく、この場合一時領域を第2の始動情報記憶手段としてもよいし、特図2の保留記憶部および一時領域を第2の始動情報記憶手段としてもよい。 In step S217, a winning acceptance process is performed. In this winning acceptance process, if there is a winning at the first special figure starting port 230 and the number of special figure 1 variable games on hold is less than a predetermined number (4 in this embodiment), a predetermined Get startup information. That is, if the number of holdings is less than the predetermined number, a hardware random number that is the basis of the special figure 1 winning random number is obtained from the random number generation circuit 318 shown in FIG. 4 and processed to obtain the special figure 1 winning random number. . This point will be described in more detail later. Also, the big hit special figure 1 random number, the small hit special figure 1 random number, and the lost special figure 1 random number are acquired from a random number counter storage area provided in the RAM 308. The special hit 1 random number for big hits, the special Fig. 1 random number for small hits, and the special Fig. 1 random number for lost are values obtained by processing software random numbers derived from the software random number counter provided in the RAM 308 (software random number value + R register value) Value + 1). Further, the special figure 1 variation time determination random number is acquired from the counter circuit 312 shown in FIG. The combination of the random number generation circuit 318, the counter circuit 312 and the software random number counter provided in the RAM 308 and the main control unit 300 that performs random number processing shown in FIG. 4 generates and derives start information. This corresponds to an example of information deriving means (first starting information deriving means, second starting information deriving means). If attention is paid to the generation of hardware random numbers, the random number generation circuit 318 or the counter circuit 312 shown in FIG. 4 generates the start information. The start information generation means (first start information generation means, Corresponds to an example of the starting information generating means). The various random numbers (starting information) acquired here are stored as a set of starting information in a vacant area corresponding to the winning order (holding order) of the holding storage unit of FIG. . The reserved storage unit of FIG. 1 stores the start information acquired when a game ball enters the first special figure start port 230 (first start area) up to a predetermined first upper limit number (here, four). This corresponds to the first start information storage means that can be stored. At this time, various random numbers (starting information) may be temporarily stored in a temporary area provided in the RAM 308, and the value stored in the temporary area may be stored in the holding storage unit of FIG. 1 may be used as the first start-up information storage unit, or the reserved storage unit and the temporary area in FIG. 1 may be used as the first start-up information storage unit. Further, the CPU 304 of the main control unit 300 adds 1 to the value of the number of holdings in FIG. 1 stored in the RAM 308, and the number of holdings in FIG. Therefore, the CPU 304 of the main control unit 300 corresponds to an example of a holding unit. As for special figure 2, each random number which is start information is acquired as in special figure 1, and the obtained random number is similarly stored as a set of start information in the holding storage unit of special figure 2 provided in RAM 308. Further, 1 is added to the value of the number of holdings in FIG. 2 stored in the RAM 308. The reserved storage unit of the special figure 2 stores the start information acquired when the game ball enters the second special figure start port 232 (second start area) up to a predetermined second upper limit number (here, four). This corresponds to a possible second starting information storage means. At this time, various random numbers (starting information) may be temporarily stored in a temporary area provided in the RAM 308, and the value stored in the temporary area may be stored in the holding storage unit of FIG. The starting information storage means may be used, or the holding storage unit and the temporary area of FIG. 2 may be used as the second starting information storage means.
また、普図始動口228を球が通過したことを検出し、且つ、保留している普図変動遊技の数が所定数(本実施形態では4)未満の場合には、そのタイミングで、図4に示す乱数生成回路318から普図当選乱数を所得し、RAM308に設けた特図用とは別の乱数記憶領域に記憶する。この乱数生成回路318から普図当選乱数を取得する点についても、さらに後述する。 In addition, when it is detected that a ball has passed through the general figure starting port 228 and the number of pending custom figure variable games is less than a predetermined number (4 in this embodiment), the timing is as follows. 4 is obtained from the random number generation circuit 318 shown in FIG. The point that the normal winning random number is acquired from the random number generation circuit 318 will also be described later.
また、この入賞受付処理では、所定の球検出センサにより、第1特図始動口230、第2特図始動口232、普図始動口228、または可変入賞口234の入賞(入球)を検出した場合に、第1副制御部400に送信すべき送信情報に、第1特図始動口230、第2特図始動口232、普図始動口228、および可変入賞口234の入賞(入球)の有無を示す入賞受付情報を設定する。なお、特図の始動情報にしても普図の始動情報にしても、保留数がそれぞれの所定数以上であれば始動情報を取得せずに、ステップS219に進む。 In this winning acceptance process, a predetermined ball detection sensor detects a winning (winning) at the first special figure starting port 230, the second special figure starting port 232, the ordinary drawing starting port 228, or the variable winning port 234. In such a case, the transmission information to be transmitted to the first sub-control unit 400 includes the winnings of the first special figure starting port 230, the second special figure starting port 232, the general drawing starting port 228, and the variable winning port 234. ) Is set to receive winning information. Whether the start information of the special figure or the start information of the usual figure, if the number of holdings is equal to or greater than the predetermined number, the start information is not acquired and the process proceeds to step S219.
ステップS219では、払出要求数送信処理を行う。図4に示す払出制御部600に出力する出力予定情報および払出要求情報は1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に暗号化のための今回加工種別(0〜3)、およびビット0〜3に暗号化加工後の払出要求数を示すようにしている。 In step S219, a payout request number transmission process is performed. The output schedule information and the payout request information output to the payout control unit 600 shown in FIG. 4 are composed of 1 byte, strobe information (indicating that data is set when ON), bit 6 Power-on information (if turned on, indicates that this is the first command transmission after power-on), bits 4-5 indicate the current processing type for encryption (0-3), and bits 0-3 indicate encryption The number of payout requests after processing is shown.
ステップS221では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動表示の途中(上述する普図表示図柄更新タイマの値が1以上)における普図状態更新処理では、普通図柄表示装置210を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、普通図柄表示装置210は普図の変動表示(普図変動遊技)を行う。 In step S221, a normal state update process is performed. This normal state update process performs one of a plurality of processes corresponding to the normal state. For example, in the normal state update process in the middle of the normal symbol display (the above-described general symbol display symbol update timer value is 1 or more), the 7-segment LED constituting the normal symbol display device 210 is repeatedly turned on and off. Turns off drive control. By performing this control, the normal symbol display device 210 performs a usual fluctuation display (ordinary figure fluctuation game).
また、普図変動表示時間が経過したタイミング(普図表示図柄更新タイマの値が1から0になったタイミング)における普図状態更新処理では、当りフラグがオンの場合には、当り図柄の表示態様となるように普通図柄表示装置210を構成する7セグメントLEDの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、ハズレ図柄の表示態様となるように普通図柄表示装置210を構成する7セグメントLEDの点灯・消灯駆動制御を行う。また、主制御部300のRAM308には、普図状態更新処理に限らず各種の処理において各種の設定を行う設定領域が用意されている。ここでは、上記点灯・消灯駆動制御を行うとともに、その設定領域に普図停止表示中であることを示す設定を行う。この制御を行うことで、普通図柄表示装置210は、当り図柄(図5(c)に示す普図A)およびハズレ図柄(図5(c)に示す普図B)いずれか一方の図柄の確定表示を行う。さらにその後、所定の停止表示期間(例えば500m秒間)、その表示を維持するためにRAM308に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された図柄が所定期間停止表示され、普図変動遊技の結果が遊技者に報知される。 Also, in the normal state update process at the timing when the normal symbol change display time has elapsed (the timing at which the value of the general symbol display symbol update timer has changed from 1 to 0), if the hit flag is on, the hit symbol is displayed. The normal symbol display device 210 is controlled so that the 7-segment LED constituting the normal symbol display device 210 is turned on / off, and when the hit flag is off, the normal symbol display device 210 is configured to display the lost symbol display mode. 7 segment LED on / off drive control is performed. Further, the RAM 308 of the main control unit 300 is provided with a setting area for performing various settings in various processes, not limited to the normal state update process. Here, the above-described lighting / extinguishing drive control is performed, and the setting area is set to indicate that the normal stop display is being performed. By performing this control, the normal symbol display device 210 determines the symbol of either one of the winning symbols (the common symbol A shown in FIG. 5C) or the lost symbol (the universal symbol B shown in FIG. 5C). Display. Thereafter, information indicating the stop period is set in a storage area of a normal stop time management timer provided in the RAM 308 in order to maintain the display for a predetermined stop display period (for example, 500 msec). With this setting, the symbol that has been confirmed and displayed is stopped and displayed for a predetermined period, and the player is notified of the result of the normal game.
また、普図変動遊技の結果が当りであれば、後述するように、普図当りフラグがオンされる。この普図当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)における普図状態更新処理では、RAM308の設定領域に普図作動中を設定するとともに、所定の開放期間(例えば2秒間)、第2特図始動口232の羽根部材2321の開閉駆動用のソレノイド(332)に、羽根部材2321を開放状態に保持する信号を出力するとともに、RAM308に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。このようにして一対の羽根部材2321の開放制御を行う主制御部300のCPU304が、可変始動領域制御を行う可変始動領域制御手段の一例に相当する。一方、非電サポ状態であれば、RAM308の設定領域に普図非作動中を設定するとともに、第2特図始動口232の羽根部材2321の開閉駆動用のソレノイド(332)には、何ら信号を出力しない。こうすることで、羽根部材2321は閉じた状態のままになる。なお、羽根部材2321を閉じた状態に維持するための信号を必ず出力するようにしてもよい。 Further, if the result of the usual figure variable game is a hit, the usual figure hit flag is turned on as will be described later. When the usual figure hit flag is on, in the usual figure state update process at the timing when the predetermined stop display period ends (when the usual figure stop time management timer value changes from 1 to 0), The normal operation is set in the setting region, and the blade member 2321 is opened to the solenoid (332) for opening and closing the blade member 2321 of the second special figure starting port 232 for a predetermined opening period (for example, 2 seconds). In addition, a signal to be held is output and information indicating the open period is set in the storage area of the blade open time management timer provided in the RAM 308. The CPU 304 of the main control unit 300 that performs the opening control of the pair of blade members 2321 in this way corresponds to an example of a variable start region control unit that performs variable start region control. On the other hand, if it is in the non-electric support state, in the setting area of the RAM 308, the normal operation is not set, and no signal is sent to the solenoid (332) for opening and closing the blade member 2321 of the second special figure starting port 232. Is not output. By doing so, the blade member 2321 remains closed. Note that a signal for maintaining the blade member 2321 in the closed state may be output without fail.
また、電サポ状態であった場合には、所定の開放期間が終了したタイミング(羽根開放時間管理用タイマの値が1から0になったタイミング)で開始する処理では、所定の閉鎖期間(例えば0.1秒間)、羽根部材2321の開閉駆動用のソレノイド(332)に、羽根部材2321を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた
羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
In the case of the electric support state, in the process starting at the timing when the predetermined opening period ends (the timing when the value of the blade opening time management timer is changed from 1 to 0), the predetermined closing period (for example, 0.1 second), a signal for holding the blade member 2321 in a closed state is output to the solenoid (332) for opening / closing driving of the blade member 2321, and it is closed in the storage area of the blade closing time management timer provided in the RAM 308. Set information indicating the period.
また、電サポ状態であった場合には、所定の閉鎖期間が終了したタイミング(羽根閉鎖時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理において、RAM308の設定領域に普図非作動中を設定する。さらに、普図変動遊技の結果がハズレであれば、後述するように、普図ハズレフラグがオンされる。この普図ハズレフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)における普図状態更新処理でも、RAM308の設定領域に普図非作動中を設定する。普図非作動中の場合における普図状態更新処理では、何もせずに次のステップS223に移行するようにしている。続いて、ステップS223では普図関連抽選処理を実行する。 In the case of the electric support state, in the normal state update process that starts at the timing when the predetermined closing period ends (the timing when the value of the blade closing time management timer changes from 1 to 0), In the setting area, set “Normal” inactive. Furthermore, if the result of the usual figure fluctuation game is a loss, the usual figure loss flag is turned on as will be described later. When the usual figure loss flag is on, even in the usual figure state update process at the timing when the above-described predetermined stop display period ends (when the value of the usual figure stop time management timer is changed from 1 to 0), In the setting area of the RAM 308, normal operation inactive is set. In the general state update process in the case where the general map is not operating, nothing is done and the process proceeds to the next step S223. Subsequently, in the step S223, a general drawing related lottery process is executed.
図92(a)は、普図関連抽選処理の流れを示すフローチャートである。図92(a)に示す普図関連抽選処理では、まず、普図保留情報があるか否かを判定する(ステップS2231)。ここにいう普図保留情報とは、普図の保留数を指す。すなわち、ここでは、保留している普図変動遊技の数が1以上であるか否かを判定する。なお、普図の保留数をデータとして持っていなくとも、例えば、保留に対応した乱数(普図当選乱数)を普図保留情報として認識するようにしても良い。普図保留情報がなければ、この普図関連抽選処理は終了になり、普図保留情報があればステップS2232に進む。ステップS2232では、普図変動遊技が行われているか否かを判定し、行われていればこの普図関連抽選処理は終了になり、行われていなければステップS2233に進む。ステップS2233では、第2特図始動口232の開閉制御が行われているか否か(普図作動中か否か)を判定し、普図作動中であればこの普図関連抽選処理は終了になり、普図非作動中であればステップS2234に進む。ステップS2234では、上述の乱数記憶領域に記憶している普図当選乱数に基づいた乱数抽選を行う。 FIG. 92 (a) is a flowchart showing the flow of a general drawing related lottery process. In the general drawing related lottery process shown in FIG. 92A, first, it is determined whether or not there is general drawing hold information (step S2231). Here, the general map hold information refers to the number of hold of the general map. In other words, here, it is determined whether or not the number of pending variable games is one or more. In addition, even if it does not have the usual number of reservations as data, for example, a random number corresponding to the reservation (a normal winning random number) may be recognized as the general reservation information. If there is no general map hold information, this general drawing related lottery process is terminated, and if there is general map hold information, the process proceeds to step S2232. In step S2232, it is determined whether or not the usual figure variable game is being performed. If it has been performed, the usual figure related lottery process is terminated, and if not, the process proceeds to step S2233. In step S2233, it is determined whether or not the opening / closing control of the second special figure starting port 232 is being performed (whether or not the normal map is operating). If it is not normally operated, the process proceeds to step S2234. In step S2234, a random number lottery based on the regular winning random number stored in the random number storage area is performed.
図92(b)は、普図抽選テーブルを示す図である。このテーブルは、主制御部300のROM306に記憶されている。主制御部300のCPU304は、RAM308の乱数記憶領域から普図当選乱数を取り出し、時短フラグを参照し、時短フラグがオンであれば普図高確率状態(電サポ中)であるため、取得した普図当選乱数から普図高確率状態の普図当選データを引き、キャリーが発生した場合(普図当選乱数よりも普図当選データの値が大きい場合)は普図当選とし、キャリーが発生しなかった場合は普図ハズレになる。すなわち、普図当選乱数範囲は0〜9になる。普図高確率状態では、普図当選乱数は、図10に示す乱数生成回路318のチャンネルCH4から出力される。このチャンネルCH4には、図90に示す乱数生成回路初期設定処理における乱数生成範囲の設定(ステップS1053a)において0〜9の乱数生成範囲が設定されており、普図高確率状態の普図当選乱数の取り得る範囲は0〜9になる。したがって、普図高確率状態における普図当選確率は1/1になる。一方、時短フラグがオフであれば普図低確率状態(非電サポ中)であるため、取得した普図当選乱数から、普図高確率状態のデータと同じ普図低確率状態の普図当選データを引き、キャリーが発生した場合(普図当選乱数よりも普図当選データの値が大きい場合)は普図当選とし、キャリーが発生しなかった場合は普図ハズレになる。すなわち、普図低確率状態の場合でも普図当選乱数範囲は0〜9になる。普図低確率状態では、普図当選乱数は、図77に示す乱数生成回路318のチャンネルCH3から出力される。このチャンネルCH3には、乱数生成範囲の設定(ステップS1053a)において0〜999の乱数生成範囲が設定されており、普図低確率状態の普図当選乱数の取り得る範囲は0〜999になる。したがって、普図低確率状態における普図当選確率は1/100になる。 FIG. 92 (b) is a diagram showing a general drawing lottery table. This table is stored in the ROM 306 of the main control unit 300. The CPU 304 of the main control unit 300 takes out the normal winning random number from the random number storage area of the RAM 308, refers to the short time flag, and if the short time flag is on, it is in a high probability state (during electric support) Subtracting the high-probability common-plan winning data from the common-lot winning random number, if a carry occurs (if the value of the general-plan winning data is larger than the normal winning random number), it is determined to be a general winning and a carry occurs. If you don't, you will lose your usual figure. That is, the normal winning random number range is 0-9. In the normal high probability state, the normal winning random number is output from the channel CH4 of the random number generation circuit 318 shown in FIG. In this channel CH4, a random number generation range of 0 to 9 is set in the setting of the random number generation range (step S1053a) in the random number generation circuit initial setting process shown in FIG. 90. The range that can be taken is 0-9. Therefore, the probability of winning the normal drawing in the normal high probability state is 1/1. On the other hand, if the time flag is off, it is in the low probability state (non-powered support), so the winning symbol in the low probability state is the same as the data in the high probability state from the acquired random number. If the data is pulled and a carry occurs (when the value of the win-winning data is larger than the normal-winning random number), the win-winning is determined. If no carry occurs, the win-win is lost. That is, even in the normal figure low probability state, the normal figure winning random number range is 0-9. In the normal low probability state, the normal winning random number is output from the channel CH3 of the random number generation circuit 318 shown in FIG. For this channel CH3, a random number generation range of 0 to 999 is set in the setting of the random number generation range (step S1053a), and the range that can be taken by the normal winning random number in the normal low probability state is 0 to 999. Therefore, the probability of winning the normal figure in the normal figure low probability state becomes 1/100.
本実施形態では、普図当選乱数の取り得る範囲(乱数生成範囲)を、デフォルトの0〜65535から0〜999に制限することで大当り確率を、きりのよい1/100にすることができる。また、普図当選データを、普図高確率状態と普図低確率状態で同じ値にすることができる。乱数生成範囲を制限せずに確率を決定することは開発工数の増大を招くとともに誤った確率設計の原因となってしまう場合がある。特に、一の契機に基づいて複数回の抽選を行う場合に煩雑さはより顕著になってしまう。よって、乱数生成範囲を制限することは開発工数を削減するとともに、抽選処理の安定化を図ることができるといえる。また、普図当選データを、普図高確率状態と普図低確率状態で共通化することも、開発工数を削減するとともに、抽選処理の安定化を図ることができるといえる。 In this embodiment, by limiting the range (random number generation range) that the normal winning random numbers can take from the default 0 to 65535 to 0 to 999, the big hit probability can be reduced to 1/100. In addition, the common figure winning data can be set to the same value in the common figure high probability state and the common figure low probability state. Determining the probability without limiting the random number generation range may lead to an increase in development man-hours and may cause erroneous probability design. In particular, the complexity becomes more noticeable when lottery is performed a plurality of times based on one opportunity. Therefore, limiting the random number generation range can reduce the development man-hours and stabilize the lottery process. In addition, it can be said that sharing the common figure winning data in the common figure high probability state and the common figure low probability state can reduce the development man-hours and stabilize the lottery process.
普図抽選に当選した場合にはRAM308に設けた当りフラグをオンに設定する。ハズレ(不当選)の場合には、当りフラグをオフに設定する。また、普図抽選の結果に関わらず、図4に示すカウンタ回路312から普図変動時間決定用乱数を取得し、取得した普図変動時間決定用乱数に基づいて複数の変動時間のうちから普図表示装置210に普図を変動表示する時間を1つ選択し、この変動表示時間を、普図変動表示時間として、RAM308に設けた普図変動時間記憶領域に記憶する。普図変動時間決定用乱数値を用いた抽選で複数の変動時間のうちから普図変動時間を1つ選択する主制御部300のCPU304が、抽選手段の一例に相当する。ここで、普図変動時間の抽選処理は、普図の当りか否かを抽選する当否判定とは異なる。なお、保留している普図変動遊技の数は、RAM308に設けた普図保留数記憶領域に記憶するようにしており、ステップS2234を実行するたびに、保留している普図変動遊技の数から1を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また、カウンタ回路312からの普図変動時間決定用乱数の取得は、普図始動口228への入賞時に行ってもよい。 When the regular drawing lottery is won, the hit flag provided in the RAM 308 is set to ON. In case of losing (unfair), the winning flag is set to OFF. Regardless of the result of the general drawing lottery, a random number for determining the normal variation time is acquired from the counter circuit 312 shown in FIG. One time for variably displaying the normal map on the figure display device 210 is selected, and this variable display time is stored as a normal map variable display time in the normal time variable time storage area provided in the RAM 308. The CPU 304 of the main control unit 300 that selects one common map change time from a plurality of change times by lottery using the random number for determining the normal map change time corresponds to an example of a lottery means. Here, the lottery process for the usual time fluctuation time is different from the determination of whether or not the lottery is successful. In addition, the number of pending general figure variable games is stored in the common figure pending number storage area provided in the RAM 308. Each time step S2234 is executed, the number of pending custom figure variable games is stored. The value obtained by subtracting 1 from is re-stored in the usual figure number-of-holds storage area. In addition, acquisition of the random number for determining the normal figure change time from the counter circuit 312 may be performed at the time of winning a prize in the general figure start port 228.
ステップS2235では、上述の乱数記憶領域から、先の普図抽選に使用した普図当選乱数を消去し、この普図関連抽選処理は終了になる。続いて、特図先読み処理(ステップS225)が実行される。この先読み処理では、まず、RAM308に設けられた特図1の保留記憶部内の特図1当選乱数を先読みするか、あるいは特図2の保留記憶部内の特図2当選乱数を先読みする。なお、ここでの先読みとは始動情報を当否判定(本抽選)の前に先に読むことを意味するが、以降の先読み処理では、先読みという言葉を、先(当否判定(本抽選)の結果)を読むという意味で使用することがある。このステップS225では、後述する特図関連処理(ステップS229)で用いる図94(a)に示す特図抽選テーブルの内容と同じ内容の事前判定用テーブルを用い、先読みした特図当選乱数に基づく当否判定の事前判定を行う。なお、特図関連処理では、特図抽選テーブルを用いて特図変動遊技の当否判定を改めて行い、ここでの判定結果は、あくまで事前判定の結果になる。当否判定の事前判定では、「大当り」という結果か、あるいは「大当り」以外という結果が導出され、「大当り」という結果の場合には、RAM308に設けられた特図1の保留記憶部内の大当り用特図1乱数を先読みするか、あるいは特図2の保留記憶部内の大当り用特図2乱数を先読みする。続いて、ステップS229の特図関連処理で用いる図94(b)に示す停止図柄抽選テーブルの内容と同じ内容の事前判定用テーブルを用い、先読みした大当り用特図乱数に基づく特図の停止図柄の事前判定を行う。 In step S2235, the normal winning lottery used in the previous general drawing lottery is deleted from the random number storage area described above, and this general drawing related lottery process ends. Subsequently, special figure prefetching processing (step S225) is executed. In this prefetching process, first, the special figure 1 winning random number in the special memory 1 of FIG. 1 provided in the RAM 308 is prefetched, or the special figure 2 winning random number in the special memory 2 of FIG. 2 is prefetched. Note that the prefetching here means that the start information is read first before the success / failure determination (final lottery), but in the subsequent prefetching processing, the word “prefetching” is used as the result of the predecessor (prevention / correction (final lottery)). ) May be used to mean read. In this step S225, a pre-judgment table having the same contents as the contents of the special figure lottery table shown in FIG. 94 (a) used in the special figure related process (step S229) described later is used, and the validity based on the pre-read special figure winning random number. Pre-determination is performed. In the special figure related process, the special figure lottery table is used again to determine whether or not the special figure variable game is successful, and the determination result here is only the result of the preliminary determination. In the pre-judgment determination, a result of “big hit” or a result other than “big hit” is derived, and in the case of a result of “big hit”, the big hit in the reserved storage unit of FIG. The special figure 1 random number is prefetched, or the big hit special figure 2 random number in the reserved storage unit of the special figure 2 is prefetched. Subsequently, using the pre-determination table having the same content as the content of the stop symbol lottery table shown in FIG. 94 (b) used in the special symbol related process in step S229, the special symbol stop symbol based on the pre-determined special bonus random number for jackpot Make a prior judgment.
なお、特図関連処理では、停止図柄抽選テーブルを用いて特図の停止図柄の抽選を改めて行い、ここでの判定結果は、あくまで事前判定の結果になる。こうして、特図の停止図柄を事前判定すると、先読み予告の実行可否抽選を行う。この先読み予告は、特図関連抽選処理(ステップS229)が実行される前、すなわち当否判定が行われる前に、当該特図関連抽選処理で行われる当否判定の結果が大当り(ここではより限定して15Rの大当り(15R特別大当りか15R大当り))になることを予告するための報知である。ここでの先読み予告には、停止図柄の事前判定結果が15Rの大当り図柄(特図Aまたは特図B)でなくても、15Rの大当りになるかのように偽りで予告する偽の先読み予告も含まれる。すなわち、先読み予告は、当否判定の結果が15R大当りになる可能性があることを表したり、遊技者に示唆する事前報知、あるいは当否判定の結果が15R大当りになることを遊技者に期待させる事前報知であるといえる。先読み予告の実行可否抽選を行うタイミングで、RAM308に設けられた演出乱数カウンタから演出乱数(例えば、取り得る範囲は0〜99)を取得し、取得した演出乱数に基づいて実行可否抽選を行う。なお、停止図柄の事前判定結果を第1副制御部400に送信し、この実行可否抽選は、第1副制御部400が行うようにしてもよい。 In the special symbol related process, the special symbol stop symbol lottery table is used again, and the special symbol stop symbol lottery is performed again, and the determination result here is a preliminary determination result. In this way, when the stop symbol of the special figure is determined in advance, a lottery for whether or not to perform the pre-reading notice is performed. This pre-reading notice indicates that the result of the success / failure determination performed in the special drawing-related lottery process before the special figure-related lottery process (step S229) is executed, that is, before the determination of success / failure is performed. 15R big hit (15R special big hit or 15R big hit). The pre-reading notice here is a fake pre-reading notice that gives a false notice as if it was a big hit of 15R even if the pre-determined result of the stop symbol is not a big hit of 15R (Special Figure A or Special Figure B) Is also included. In other words, the pre-reading notice indicates that there is a possibility that the result of the success / failure determination will be a 15R jackpot, an advance notification that suggests to the player, or an advance notice that the player expects that the result of the success / failure determination will be a 15R jackpot. It can be said that it is information. An effect random number (for example, a possible range is 0 to 99) is acquired from an effect random number counter provided in the RAM 308 at the timing of performing the pre-reading notice execution availability lottery, and the execution availability lottery is performed based on the acquired effect random number. In addition, the prior determination result of the stop symbol may be transmitted to the first sub-control unit 400, and the first sub-control unit 400 may perform this execution availability lottery.
次に、特図1および特図2それぞれについての特図状態更新処理(ステップS227)を行うが、最初に、特図2についての特図状態更新処理を行い、次いで、特図1についての特図状態更新処理を行う。特図2状態更新処理は、特図2の状態に応じて、次の8つの処理のうちの1つの処理を行う。例えば、特図2変動表示の途中(上述の特図2表示図柄更新タイマの値が1以上)における特図2状態更新処理では、第2特別図柄表示装置214を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、第2特別図柄表示装置214は特図2の変動表示(特図2変動遊技)を行う。また、コマンド設定送信処理(ステップS231)で一般コマンド回転開始設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶してから処理を終了する。 Next, the special figure state update process (step S227) for each of the special figure 1 and the special figure 2 is performed. First, the special figure state update process for the special figure 2 is performed, and then the special figure state for the special figure 1 is performed. Perform figure state update processing. In the special figure 2 state update process, one of the following eight processes is performed according to the state of the special figure 2. For example, in the special figure 2 state update process in the middle of the special figure 2 fluctuation display (the value of the above-mentioned special figure 2 display symbol update timer is 1 or more), the 7-segment LED constituting the second special symbol display device 214 is turned on. Performs lighting / extinguishing drive control that repeatedly turns off. By performing this control, the second special symbol display device 214 performs the variable display of the special figure 2 (special figure 2 variable game). In addition, predetermined transmission information indicating that the general command rotation start setting transmission process is executed in the command setting transmission process (step S231) is additionally stored in the transmission information storage area, and the process ends.
また、主制御部300のRAM308には、15R大当りフラグ、2R大当たりフラグ、第1小当たりフラグ、第2小当たりフラグ、第1ハズレフラグ、第2ハズレフラグ、確変フラグ、および時短フラグそれぞれのフラグが用意されている。特図2変動表示時間が経過したタイミング(特図2表示図柄更新タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、後述する特図関連抽選処理における特図決定結果(特図の停止図柄態様)に基づいて第2特図表示装置214を構成する7セグメントLEDの点灯・消灯駆動制御を行い、RAM308の設定領域に特図2停止表示中であることを表す設定を行う。この制御を行うことで、第2特別図柄表示装置214は、15R特別大当たり図柄(特図A)、15R大当たり図柄(特図B)、2R特別大当たり図柄(特図C)、突然時短図柄(特図D)、隠れ確変図柄(特図E)、突然通常図柄(特図F)、第1小当たり図柄(特図G)、第2小当たり図柄(特図H)、第1ハズレ図柄(特図I)、および第2ハズレ図柄(特図J)のいずれか一つの図柄の確定表示を行う。さらにその後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた特図2停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された特図2が所定期間停止表示され、特図2変動遊技の結果が遊技者に報知される。また、RAM308に設けられた電サポ回数記憶部に値がセットされている場合には、その値が1以上であれば、その時短回数から1を減算し、減算結果が1から0となった場合は、特図確率変動中でなければ、時短フラグをオフする。さらに、大当り遊技中や小当り遊技中にも、時短フラグをオフする。すなわち、主制御部300のCPU304は、大当り遊技状態中および小当り遊技状態中(第二の制御状態中)である場合に、非電サポ状態(第一の進入率制御状態)に移行させる。 In addition, the RAM 308 of the main control unit 300 includes 15R big hit flag, 2R big hit flag, first small hit flag, second small hit flag, first lose flag, second lose flag, probability change flag, and hourly flag. Is prepared. In the special figure 2 state update process starting at the timing when the special figure 2 variable display time has passed (the timing when the value of the special figure 2 display symbol update timer is changed from 1 to 0), the special figure in the special figure related lottery process to be described later Based on the determination result (stop pattern mode of the special figure), the 7 segment LED constituting the second special figure display device 214 is controlled to be turned on / off, and the special figure 2 stop display is being displayed in the setting area of the RAM 308. Set to represent. By performing this control, the second special symbol display device 214 has a 15R special jackpot symbol (special symbol A), a 15R jackpot symbol (special symbol B), a 2R special jackpot symbol (special symbol C), and a sudden time shortening symbol (special symbol). Figure D), hidden probability variation (special E), suddenly normal (special F), first small hit (special G), second small (special H), first loss (special) One of the symbols (Fig. I) and the second lost symbol (special symbol J) is confirmed and displayed. After that, information indicating the stop period is set in the storage area of the special figure 2 stop time management timer provided in the RAM 308 in order to maintain the display for a predetermined stop display period (for example, 500 milliseconds). With this setting, the specially displayed special figure 2 is stopped and displayed for a predetermined period, and the result of the special figure 2 variable game is notified to the player. Further, when a value is set in the electric support number storage unit provided in the RAM 308, if the value is 1 or more, 1 is subtracted from the shortest number of times, and the subtraction result becomes 1 to 0. In this case, if the special figure probability is not changing, the time reduction flag is turned off. Further, the hourly flag is turned off during the big hit game or the small hit game. That is, the CPU 304 of the main control unit 300 shifts to the non-electric support state (first entry rate control state) when the big hit gaming state and the small hit gaming state (second control state).
また、後述するコマンド設定送信処理(ステップS231)で一般コマンド回転停止設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶するとともに、変動表示を停止する図柄が特図2であることを示す特図2識別情報を、後述するコマンドデータに含める情報としてRAM308に追加記憶してから処理を終了する。 In addition, a predetermined transmission information indicating that a general command rotation stop setting transmission process is executed in a command setting transmission process (step S231), which will be described later, is additionally stored in the above-described transmission information storage area, and a pattern for stopping the variable display is displayed. Special figure 2 identification information indicating that it is special figure 2 is additionally stored in the RAM 308 as information to be included in command data, which will be described later, and the processing is terminated.
また、特図2変動遊技の結果が大当りであれば、大当りフラグがオンされる。この大当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング(特図2停止時間管理用タイマの値が1から0になったタイミング)における特図2状態更新処理では、RAM308の設定領域に特図2作動中を設定するとともに、所定の入賞演出期間(例えば3秒間)すなわち装飾図柄表示装置208による大当りを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図2待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理(ステップS231)で一般コマンド入賞演出設定送信処理を実行させるために上述の送信情報記憶領域に5Hを送信情報(コマンド種別)として追加記憶する。 If the result of the special figure 2 variable game is a big hit, the big hit flag is turned on. When the jackpot flag is on, in the special figure 2 state update process at the timing when the predetermined stop display period ends (the timing when the special figure 2 stop time management timer value changes from 1 to 0), the RAM 308 In the setting area, the special figure 2 is in operation and waits for a predetermined winning effect period (for example, 3 seconds), that is, a period during which an image for notifying the player that the big win by the decorative symbol display device 208 is started is displayed. Therefore, information indicating the winning effect period is set in the storage area of the special figure 2 standby time management timer provided in the RAM 308. Further, 5H is additionally stored as transmission information (command type) in the transmission information storage area described above in order to execute the general command winning effect setting transmission process in the command setting transmission process (step S231).
また、所定の入賞演出期間が終了したタイミング(特図2待機時間管理用タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、所定の開放期間(例えば29秒間、または可変入賞口234に所定球数(例えば10球)の遊技球の入賞を検出するまで)可変入賞口234の扉部材2341の開閉駆動用のソレノイド(332)に、扉部材2341を開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理(ステップS231)で一般コマンド大入賞口開放設定送信処理を実行させるために上述の送信情報記憶領域に7Hを送信情報(コマンド種別)として追加記憶する。 Further, in the special figure 2 state update process that starts at the timing when the predetermined winning effect period ends (the timing when the value of the special figure 2 standby time management timer changes from 1 to 0), a predetermined release period (for example, 29 seconds) Alternatively, the door member 2341 is opened to the solenoid (332) for opening and closing the door member 2341 of the variable prize opening 234 until a winning of a predetermined number of balls (for example, 10 balls) is detected at the variable prize opening 234. In addition to outputting a signal to be held at the same time, information indicating the opening period is set in the storage area of the door opening time management timer provided in the RAM 308. Further, 7H is additionally stored as transmission information (command type) in the above-described transmission information storage area in order to execute the general command big prize opening release setting transmission process in the command setting transmission process (step S231).
また、所定の開放期間が終了したタイミング(扉開放時間管理用タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、所定の閉鎖期間(例えば1.5秒間)可変入賞口234の扉部材2341の開閉駆動用のソレノイド(332)に、扉部材2341を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理(ステップS231)で大入賞口閉鎖設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。 In the special figure 2 state update process that starts at the timing when the predetermined opening period ends (the timing when the door opening time management timer value changes from 1 to 0), the predetermined closing period (for example, 1.5 seconds) A signal for holding the door member 2341 in a closed state is output to a solenoid (332) for opening and closing the door member 2341 of the variable prize opening 234, and a closing period is stored in a storage area of a door closing time management timer provided in the RAM 308. Set the information indicating. In addition, predetermined transmission information indicating that the special winning opening closing setting transmission process is executed in the command setting transmission process (step S231) is additionally stored in the transmission information storage area.
また、この扉部材の開放・閉鎖制御を所定回数(本実施例では15ラウンドか2ラウンド)繰り返し、終了したタイミングで開始する特図2状態更新処理では、所定の終了演出期間(例えば3秒間)すなわち装飾図柄表示装置208による大当りを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。 In addition, in the special figure 2 state update process that starts at the timing when the door member opening / closing control is repeated a predetermined number of times (15 rounds or 2 rounds in this embodiment) and finished, a predetermined end effect period (for example, 3 seconds) In other words, the effect standby period is stored in the storage area of the effect standby time management timer provided in the RAM 308 in order to set to wait for a period during which an image for informing the player that the big hit by the decorative symbol display device 208 is to be ended is displayed. Set the information indicating.
以上説明したように、主制御部300のCPU304は、大当り遊技状態中に、可変入賞口234の扉部材2341の開閉状態の変化制御を行う可変入賞制御手段の一例に相当する。なお、主制御部300のROM306には、可変入賞口234の扉部材2341の開閉パターンが記憶されており、主制御部300のCPU304は、そのROM306から、特図変動遊技の当否判定に応じた開閉パターンを取得する。 As described above, the CPU 304 of the main control unit 300 corresponds to an example of variable winning control means for performing change control of the open / closed state of the door member 2341 of the variable winning opening 234 during the big hit gaming state. The ROM 306 of the main control unit 300 stores an opening / closing pattern of the door member 2341 of the variable prize opening 234, and the CPU 304 of the main control unit 300 responds to the determination of whether or not the special figure variable game is successful from the ROM 306. Get the open / close pattern.
また、主制御部300のCPU304は、特図決定結果が表す停止図柄態様に基づいて、大当り遊技の終了と同時に、RAM308に設けられた確変フラグや時短フラグをオンに設定する。すなわち、主制御部300のCPU304は、後述する特図抽選処理で特図決定結果が「特図A」や「特図C」である場合には確変フラグと時短フラグの双方をオンに設定する。また、特図決定結果が「特図E」である場合には確変フラグと時短フラグのうち確変フラグのみをオンに設定する。さらに、特図決定結果が「特図B」や「特図D」である場合には確変フラグと時短フラグのうち時短フラグのみをオンに設定するとともにRAM308に設けられた電サポ回数記憶部に電サポ回数100回をセットする。確変フラグがオンに設定されていると、特図高確率状態(確率変動中)であり、大当り遊技終了後に大当りに当選する確率が高くなっている状態(特図高確率状態)である。一方、確変フラグがオンに設定されていない(オフに設定されている)と、特図低確率状態である。したがって、確変フラグの設定状態は、当否判定(特図の抽選)の結果に影響を与える。また、時短フラグがオンに設定されていると電サポ状態であり、電チューが開きやすい(例えば当りやすい)、一回の当りに基づく開放時間が長い、一回の当りに基づく開放回数が多いなど可変始動領域制御が遊技者に有利になるように行われる。反対に、時短フラグがオフに設定されていると非電サポ状態であり、可変始動領域制御が遊技者に不利になるように行われる。したがって、時短フラグの設定状態は、可変始動領域制御にも影響を与える。よって、確変フラグおよび/または時短フラグの設定状態を表す情報は、遊技制御情報の一例に相当し、主制御部300のCPU304は遊技制御情報決定手段の一例に相当する。 Further, the CPU 304 of the main control unit 300 sets the probability variation flag and the time reduction flag provided in the RAM 308 to be on simultaneously with the end of the big hit game, based on the stop symbol form represented by the special figure determination result. That is, the CPU 304 of the main control unit 300 sets both the probability variation flag and the time reduction flag to ON when the special figure determination result is “special figure A” or “special figure C” in the special figure lottery process described later. . When the special figure determination result is “special figure E”, only the probability variation flag is set to ON among the probability variation flag and the time reduction flag. Furthermore, when the special figure determination result is “special figure B” or “special figure D”, only the short time flag is set to ON among the probability variation flag and the short time flag, and the electric support number storage unit provided in the RAM 308 is set. Set power support 100 times. When the probability variation flag is set to ON, it is in a special figure high probability state (during probability fluctuation), and is a state in which the probability of winning a big hit after the big hit game is high (a special figure high probability state). On the other hand, if the probability variation flag is not set to ON (set to OFF), it is a special figure low probability state. Therefore, the setting state of the probability variation flag affects the result of the determination of success / failure (special drawing lottery). In addition, when the time reduction flag is set to ON, it is in an electric support state, the electric chew is easy to open (for example, easy to hit), the opening time based on one hit is long, and the number of times of opening based on one hit is large. The variable starting area control is performed so as to be advantageous to the player. On the contrary, if the time reduction flag is set to OFF, it is in a non-electric support state, and the variable start area control is performed so as to be disadvantageous to the player. Therefore, the setting state of the time reduction flag also affects the variable start area control. Therefore, information indicating the setting state of the probability variation flag and / or the time reduction flag corresponds to an example of game control information, and the CPU 304 of the main control unit 300 corresponds to an example of game control information determination means.
さらに、コマンド設定送信処理(ステップS231)で一般コマンド終了演出設定送信処理を実行させるために上述の送信情報記憶領域に6Hを送信情報(コマンド種別)として追加記憶する。 Furthermore, 6H is additionally stored as transmission information (command type) in the above-described transmission information storage area in order to execute the general command end effect setting transmission process in the command setting transmission process (step S231).
また、所定の終了演出期間が終了したタイミング(演出待機時間管理用タイマの値が1から0になったタイミング)で開始する特図2状態更新処理では、RAM308の設定領域に特図2非作動中を設定する。さらに、特図2変動遊技の結果がハズレであれば、ハズレフラグがオンされる。このハズレフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング(特図2停止時間管理用タイマの値が1から0になったタイミング)における特図2状態更新処理でも、RAM308の設定領域に特図2非作動中を設定する。特図2非作動中の場合における特図2状態更新処理では、何もせずに次の処理に移行するようにしている。 Also, in the special figure 2 state update process that starts at the timing when the predetermined end production period ends (when the production standby time management timer value changes from 1 to 0), the special figure 2 is not activated in the setting area of the RAM 308. Set medium. Furthermore, if the result of the special figure 2 variable game is a loss, the loss flag is turned on. When the lost flag is on, even in the special figure 2 state update process at the timing when the predetermined stop display period described above ends (the timing when the special figure 2 stop time management timer value changes from 1 to 0), In the setting area of the RAM 308, special figure 2 inactive is set. In the special figure 2 state update process when the special figure 2 is not in operation, nothing is done and the process proceeds to the next process.
特図2状態更新処理が終了すると、特図1状態更新処理を行う。この特図1状態更新処理では、特図1の状態に応じて、上述の特図2状態更新処理で説明した各処理を行う。この特図1状態更新処理で行う各処理は、上述の特図2状態更新処理で説明した内容の「特図2」を「特図1」と読み替えた処理と同一であるため、その説明は省略する。なお、特図2状態更新処理と特図1状態更新処理の順番は逆でもよい。 When the special figure 2 state update process is completed, the special figure 1 state update process is performed. In the special figure 1 state update process, each process described in the special figure 2 state update process is performed according to the state of the special figure 1. Each process performed in the special figure 1 state update process is the same as the process in which “special figure 2” in the contents described in the special figure 2 state update process is replaced with “special figure 1”. Omitted. The order of the special figure 2 state update process and the special figure 1 state update process may be reversed.
ステップS227における特図状態更新処理が終了すると、今度は、特図1および特図2それぞれについての特図関連抽選処理を行う。この特図関連抽選処理を実行する主制御部300のCPU304が当否判定手段の一例に相当する。主制御部300は、最初に特図2についての処理(特図2関連抽選処理)を行い、その後、特図1についての処理(特図1関連抽選処理)を行う。このように、主制御部300が特図2関連抽選処理を特図1関連抽選処理よりも先に行うことで、同じタイミングで、第1特図始動口230に遊技球が進入したことに基づいて始動情報を取得し、かつ第2特図始動口232に遊技球が進入したことに基づいて始動情報を取得した場合や、特図2変動遊技の開始条件と、特図1変動遊技の開始条件が同時に成立した場合や、特図2変動遊技の開始条件と特図1変動遊技の開始条件の両方が成立している場合でも、特図2変動遊技が先に変動中となるため、特図1変動遊技は変動を開始しない。すなわち、本実施形態のパチンコ機100は、特図2優先変動を行うものであり、第2特図始動口232への入賞に基づく抽選(特図2の当否判定)を、第1特図始動口230への入賞に基づく抽選(特図1の当否判定)よりも優先して行う。言い換えれば、本実施形態のパチンコ機100では、第1の特別始動領域に遊技球が進入した場合に第1の乱数記憶領域に乱数を最大保留数まで格納し、第2の特別始動領域に遊技球が入賞した場合に第2の乱数記憶領域に乱数を最大保留数まで格納する入賞記憶部と、前記第1の乱数記憶領域および前記第2の乱数記憶領域の両方に乱数が記憶されている場合に、前記第1の乱数記憶領域に前記乱数が記憶された時期および前記第2の乱数記憶領域に前記乱数が記憶された時期とは無関係に該第2の乱数記憶領域に記憶されている乱数に基づいて当否判定を行うとともに、前記第1の乱数記憶領域に乱数が記憶されておらず、かつ前記第2の乱数記憶領域に乱数が記憶されている場合には、該第2の乱数記憶領域に記憶されている乱数に基づいて当否判定を行い、前記第2の乱数記憶領域に乱数が記憶されておらず、かつ前記第1の乱数記憶領域に乱数が記憶されている場合には、該第1の乱数記憶領域に記憶されている乱数に基づいて当否判定を行う当否判定手段を備えている。また、第1特図表示装置212あるいは第2特図表示装置214による特図変動遊技の大当り判定の結果の報知は、主制御部300で行われ、第2特図始動口232への入賞に基づく当否判定の結果報知が、第1特図始動口230への入賞に基づく当否判定の結果報知よりも優先して行われ、当否判定が行われていない始動情報として、特図1の始動情報と特図2の始動情報のうちの特図1の始動情報のみが残っている状態で、特図2の始動情報が新たに記憶された場合には、新たに記憶された特図2の始動情報に基づく当否判定の結果の報知が、既に記憶されていた特図1の始動情報に基づく当否判定の結果の報知よりも先に行われる。また、始動情報を取得する始動情報取得手段は、第1の始動情報記憶手段および第2の始動情報記憶手段のうちの両方に始動情報が記憶されている場合には、該第2の始動情報記憶手段から始動情報を取得し、該第1の始動情報記憶手段および該第2の始動情報記憶手段のうちの一方に始動情報が記憶されている場合には、始動情報が記憶されている始動情報記憶手段から始動情報を取得するものである。なお、特図2状態更新処理に続いて先に特図2関連抽選処理を行い、それから、特図1状態更新処理を行い、その後、特図1関連抽選処理を行うようにしてもよい。 When the special figure state update process in step S227 is completed, a special figure related lottery process for each of special figure 1 and special figure 2 is performed. The CPU 304 of the main control unit 300 that executes the special figure related lottery process corresponds to an example of the determination unit. The main control unit 300 first performs the process for the special figure 2 (the special drawing 2 related lottery process), and then performs the process for the special figure 1 (the special figure 1 related lottery process). As described above, the main control unit 300 performs the special figure 2 related lottery process before the special figure 1 related lottery process, so that the game ball enters the first special figure start port 230 at the same timing. The start information is acquired and the start information is acquired based on the fact that the game ball has entered the second special figure start port 232, the special condition 2 variable game start conditions, and the special figure 1 variable game start. Even if the conditions are satisfied at the same time, or if both the special figure 2 variable game start condition and the special figure 1 variable game start condition are satisfied, the special figure 2 variable game is changing first. Figure 1 Floating game does not start to fluctuate. That is, the pachinko machine 100 according to the present embodiment performs special figure 2 priority fluctuation, and the lottery based on the winning at the second special figure start port 232 (determination of special figure 2) is determined as the first special figure start. This is prioritized over a lottery based on winning a prize in the mouth 230 (a determination of success / failure in FIG. 1). In other words, in the pachinko machine 100 of the present embodiment, when a game ball enters the first special start area, the random numbers are stored in the first random number storage area up to the maximum number of reservations, and the game is stored in the second special start area. When a ball wins, a random number is stored in both the first random number storage area and the first random number storage area, and the winning random number storage area that stores random numbers up to the maximum number of reservations in the second random number storage area In this case, the random number is stored in the second random number storage area regardless of the time when the random number is stored in the first random number storage area and the time when the random number is stored in the second random number storage area. If the random number is determined based on the random number, and the random number is not stored in the first random number storage area and the random number is stored in the second random number storage area, the second random number Based on random numbers stored in the storage area If the random number is not stored in the second random number storage area and the random number is stored in the first random number storage area, it is stored in the first random number storage area. In this case, a determination unit is provided for determining whether or not the image is correct based on the random number. In addition, the main control unit 300 notifies the result of the jackpot determination of the special figure variable game by the first special figure display device 212 or the second special figure display device 214, and wins a prize to the second special figure start port 232. Based on the determination result, the start information of FIG. 1 is used as the start information in which the determination result is not performed. In the state where only the start information of the special figure 1 of the start information of the special figure 2 remains, and the start information of the special figure 2 is newly stored, the newly stored start of the special figure 2 The notification of the result of the determination based on the information is performed prior to the notification of the result of the determination based on the startup information of FIG. Further, the start information acquisition means for acquiring start information, when start information is stored in both of the first start information storage means and the second start information storage means, the second start information When starting information is acquired from the storage means and the starting information is stored in one of the first starting information storing means and the second starting information storing means, the starting information is stored. The starting information is obtained from the information storage means. Note that the special figure 2 related lottery process may be performed first after the special figure 2 state update process, then the special figure 1 state update process may be performed, and then the special figure 1 related lottery process may be performed.
図93は、特図関連抽選処理の流れを示すフローチャートである。この図93に示す特図関連抽選処理では、特図1と特図2を区別しないで示しているが、先に特図2についてステップS2291〜ステップS2296までの処理を行い、その後、特図1についてステップS2291〜ステップS2296までの処理を行う。ここでは、特図2と特図1を区別しないで説明する。 FIG. 93 is a flowchart showing the flow of the special drawing related lottery process. In the special drawing related lottery process shown in FIG. 93, special drawing 1 and special drawing 2 are shown without being distinguished from each other, but first, the processing from step S2291 to step S2296 is performed on special drawing 2, and thereafter, The process from step S2291 to step S2296 is performed. Here, it demonstrates without distinguishing special figure 2 and special figure 1. FIG.
図93に示す特図関連抽選処理では、まず、特図保留情報があるか否かを判定する(ステップS2291)。ここにい特図保留情報とは、特図の保留数を指す。すなわち、ここでは、保留している特図変動遊技の数が1以上であるか否かを判定する。なお、特図の保留数をデータとして持っていなくとも、例えば、保留に対応した乱数(特図当選乱数)を特図保留情報として認識するようにしても良い。特図保留情報がなければ、この特図関連抽選処理は終了になり、特図保留情報があればステップS2292に進む。ステップS2292では、特図表示装置(212,214)が特図変動表示中であるか、または停止表示中であるか否かを判定し、いずれかの表示中である場合には、この特図関連抽選処理は終了になり、いずれの表示中でもない場合には、ステップS2293に進む。ステップS2293では、特図作動中であるか否かを判定し、特図作動中であれば、この特図関連抽選処理は終了になり、特図非作動中であれば、ステップS2294に進む。 In the special figure-related lottery process shown in FIG. 93, first, it is determined whether or not there is special figure holding information (step S2291). Here, special figure hold information refers to the number of special figure hold. That is, here, it is determined whether or not the number of special figure variable games that are on hold is one or more. For example, a random number corresponding to a hold (a special figure winning random number) may be recognized as the special figure hold information without having the number of special figure hold as data. If there is no special figure hold information, the special figure related lottery process is terminated, and if there is special figure hold information, the process proceeds to step S2292. In step S 2292, it is determined whether or not the special figure display device (212, 214) is in the special figure variation display or in the stop display. The related lottery process ends, and if none of the displays is in progress, the process proceeds to step S2293. In step S2293, it is determined whether or not the special figure is in operation. If the special figure is in operation, the special figure-related lottery process ends. If the special figure is inactive, the process proceeds to step S2294.
ステップS2294では特図抽選処理を行う。ここではまず、RAM308に設けられた特図の保留記憶部から、最も過去に格納した始動情報である1セット分の乱数(特図当選乱数、大当り用特図乱数、小当り用特図乱数、ハズレ用特図乱数、および特図変動時間決定用乱数)を取り出し、その保留記憶部にまだ格納されている始動情報(乱数のセット)を、今記憶されている領域から隣の領域に移し替える。すなわち、最も過去に格納した始動情報を特図の保留記憶部から取り出し、さらに特図の保留記憶部に始動情報が格納されていれば、N番目に古い始動情報を特図2の保留記憶部におけるN−1番目に古い始動情報として設定したことになる。また、RAM308に記憶している保留数を1減算する。RAM308の特図の保留記憶部から1セット分の乱数(特図当選乱数、大当り用特図乱数、小当り用特図乱数、ハズレ用特図乱数、および特図変動時間決定用乱数)を取り出す処理を行う主制御部300のCPU304が、始動情報取得手段の一例に相当する。 In step S2294, special drawing lottery processing is performed. Here, first, a special set of random numbers (special figure winning random number, big hit special figure random number, small hit special figure random number, Take out the special figure random number for losing and the random number for determining the special figure fluctuation time), and transfer the starting information (set of random numbers) still stored in the reserved storage part from the currently stored area to the next area . That is, if the starting information stored in the past is taken out from the reserved storage unit of the special figure and the starting information is stored in the reserved storage unit of the special figure, the Nth oldest starting information is stored in the reserved storage unit of the special figure 2 Is set as the (N-1) oldest starting information. Also, 1 is subtracted from the pending number stored in the RAM 308. One set of random numbers (special figure winning random number, big hit special figure random number, small hit special figure random number, lose special figure random number, and special figure variable time determination random number) are taken out from the special figure holding storage unit of the RAM 308. The CPU 304 of the main control unit 300 that performs processing corresponds to an example of the start information acquisition unit.
図94(a)は特図抽選テーブルを示す図である。このテーブルは、主制御部300のROM306に記憶されている。 FIG. 94A shows a special drawing lottery table. This table is stored in the ROM 306 of the main control unit 300.
主制御部300のCPU304は、RAM308の保留記憶部から始動情報を取り出すと、確変フラグを参照し、確変フラグがオンであれば確率変動中(特図高確率状態)であるため、取得した特図当選乱数から確率変動中の特図大当り当選データを引き、キャリーが発生した場合(特図当選乱数よりも特図当選データの値が大きい場合)は特図大当りに当選とし、キャリーが発生しなかった場合は特図大当りには不当選になる。すなわち、特図大当り当選乱数範囲は0〜124になる。確率変動中では、特図当選乱数の元になる乱数は、図77に示す乱数生成回路318のチャンネルCH2から出力される。このチャンネルCH2には、図90に示す乱数生成回路初期設定処理における乱数生成範囲の設定(ステップS1053a)において0〜4999の乱数生成範囲が設定されており、確率変動中の特図当選乱数の取り得る範囲は0〜4999になる。したがって、確率変動中における特図大当りの当選確率は1/40になる。 When the CPU 304 of the main control unit 300 retrieves the start information from the holding storage unit of the RAM 308, the CPU 304 refers to the probability variation flag. If the probability variation flag is ON, the probability variation is in progress (the special figure high probability state). If the special figure jackpot winning data with probability fluctuation is subtracted from the figure winning random number and carry occurs (if the value of the special figure winning data is larger than the special figure winning random number), the special figure jackpot is won and the carry occurs If not, the special figure jackpot will not be selected. That is, the special figure big hit winning random number range is 0 to 124. During the probability variation, the random number that is the basis of the special figure winning random number is output from the channel CH2 of the random number generation circuit 318 shown in FIG. In this channel CH2, a random number generation range of 0 to 4999 is set in the setting of the random number generation range (step S1053a) in the random number generation circuit initial setting process shown in FIG. 90. The range obtained is 0-4999. Therefore, the winning probability of the special figure jackpot during the probability change is 1/40.
一方、確変フラグがオフであれば非確率変動中(特図低確率状態)であるため、取得した特図当選乱数から、確率変動中のデータと同じ非確率変動中の特図大当り当選データを引き、キャリーが発生した場合(特図当選乱数よりも特図当選データの値が大きい場合)は特図大当りに当選とし、キャリーが発生しなかった場合は特図大当りには不当選になる。すなわち、非確率変動中でも特図大当り当選乱数範囲は0〜124になる。非確率変動中では、特図当選乱数の元になる乱数は、図77に示す乱数生成回路318のチャンネルCH1から出力される。このチャンネルCH1には、乱数生成範囲の設定(ステップS1053a)において0〜49999の乱数生成範囲が設定されており、非確率変動中の特図当選乱数の取り得る範囲は0〜49999になる。したがって、非確率変動中における特図大当りの当選確率は1/400になる。 On the other hand, if the probability variation flag is off, it means that non-probability fluctuation is in progress (special figure low probability state). On the other hand, if a carry occurs (when the value of the special figure winning data is larger than the special figure winning random number), the special figure big hit is won, and if no carry occurs, the special figure big hit is not selected. That is, the special figure big hit winning random number range is 0 to 124 even during non-probability fluctuation. During non-probability fluctuation, the random number that is the basis of the special figure winning random number is output from the channel CH1 of the random number generation circuit 318 shown in FIG. In this channel CH1, a random number generation range of 0 to 49999 is set in the setting of the random number generation range (step S1053a), and the range that can be taken by the special figure winning random number during non-probability variation is 0 to 49999. Therefore, the winning probability of the special figure jackpot during non-probability fluctuation is 1/400.
本実施形態では、特図当選乱数の取り得る範囲(乱数生成範囲)を、デフォルトの0〜65535から0〜49999に制限することで大当り確率を、きりのよい1/400にすることができる。また、特図大当り当選データを、確率変動中と非確率変動中で同じ値にすることができる。乱数生成範囲を制限せずに確率を決定することは開発工数の増大を招くとともに誤った確率設計の原因となってしまう場合がある。特に、一の契機に基づいて複数回の抽選を行う場合に煩雑さはより顕著になってしまう。よって、乱数生成範囲を制限することは開発工数を削減するとともに、抽選処理の安定化を図ることができるといえる。また、特図大当り当選データを、確率変動中と非確率変動中で共通化することも、開発工数を削減するとともに、抽選処理の安定化を図ることができるといえる。 In the present embodiment, by limiting the range (random number generation range) that the special figure winning random number can take from the default 0 to 65535 to 0 to 49999, the jackpot probability can be reduced to 1/400. Further, the special figure big hit winning data can be set to the same value during the probability fluctuation and the non-probability fluctuation. Determining the probability without limiting the random number generation range may lead to an increase in development man-hours and may cause erroneous probability design. In particular, the complexity becomes more noticeable when lottery is performed a plurality of times based on one opportunity. Therefore, limiting the random number generation range can reduce the development man-hours and stabilize the lottery process. In addition, it can be said that sharing the special figure big hit winning data during the probability fluctuation and the non-probability fluctuation can reduce the development man-hours and stabilize the lottery process.
図94(a)では、特図大当りの抽選テーブルしか示していないが、特図小当りの当選データとして所定の値が用意されている。主制御部300のCPU304は、取得した特図当選乱数から特図大当り当選データを引き、キャリーが発生しなかった場合(特図当選乱数よりも特図当選データの値が小さい場合)には、今度は、特図大当り当選データを引いた値から特図小当り当選データを引き、ここでキャリーが発生した場合(特図当選乱数よりも特図小当り当選データの値が大きい場合)は特図小当りに当選とし、ここでもキャリーが発生しなかった場合はハズレになる。なお、ハズレの当選データを別途設けておいてもよい。こうして、特図の「大当り」、「小当り」、「ハズレ」が判定され、判定結果を特図当否判定結果として得る。なお、保留している特図変動遊技の数は、RAM308に設けた特図保留数記憶領域に記憶するようにしており、ステップS2294を実行するたびに、保留している特図変動遊技の数から1を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。 In FIG. 94 (a), only the special drawing big hit lottery table is shown, but a predetermined value is prepared as the special drawing small hit winning data. The CPU 304 of the main control unit 300 subtracts the special figure big hit winning data from the acquired special figure winning random number, and when no carry occurs (when the value of the special figure winning data is smaller than the special figure winning random number), This time, if the special figure small win winning data is subtracted from the value obtained by subtracting the special figure big hit winning data, and a carry occurs here (if the special figure small winning data is larger than the special figure winning random number) If you win a small figure and no carry occurs, you will lose. It is also possible to separately provide lost winning data. In this way, the special chart “big hit”, “small hit”, and “losing” are determined, and the determination result is obtained as the special figure determination result. Note that the number of special figure variable games that are held is stored in the special figure hold number storage area provided in the RAM 308, and the number of special figure variable games that are held each time step S2294 is executed. The value obtained by subtracting 1 from is re-stored in this special figure holding number storage area.
次いで、図93に示す特図関連抽選処理では、特図当否判定結果に基づいて特図の停止図柄をソフトウェア乱数を用いて抽選する(ステップS2295)。図94(b)は、停止図柄抽選テーブルを示す図である。このテーブルも、主制御部300のROM306に記憶されている。この停止図柄抽選テーブルは、当否判定結果ごとに特図の停止図柄態様(図5(a)参照)に対応した図柄当選データが規定されている。また、同図(b)には、当選確率も示されている。 Next, in the special figure related lottery process shown in FIG. 93, a special figure stop symbol is drawn using software random numbers based on the special figure success / failure determination result (step S2295). FIG. 94B shows a stop symbol lottery table. This table is also stored in the ROM 306 of the main control unit 300. In the stop symbol lottery table, symbol winning data corresponding to the stop symbol mode of the special symbol (see FIG. 5A) is defined for each success / failure determination result. In FIG. 5B, the winning probability is also shown.
主制御部300のCPU304は、当否判定結果が大当りの場合であれば、RAM308の保留記憶部から先に取得した1セット分の乱数のうちの大当り用特図乱数(取り得る数値範囲は0〜99)から特図A、特図B、・・・特図Fの順序で各停止図柄に対応した図柄当選データを徐々に減算し、キャリーが発生した場合の停止図柄を特図決定結果とする。また、当否判定結果が小当りの場合であれば、RAM308の保留記憶部から先に取得した1セット分の乱数のうちの小当り用特図乱数(取り得る数値範囲は0〜99)から特図Gの図柄当選データを引き、キャリーが発生した場合は「特図G」に当選とし、キャリーが発生しなかった場合には、特図Gの図柄当選データを引いた値からさらに特図Hの図柄当選データを引き、ここではキャリーが発生するため「特図H」に当選とする。なお、特図Hの図柄当選データを引く前に、「特図H」に当選したと判定してもよい。このようにして、当否判定結果が小当りの場合には、特図決定結果として「特図G」または「特図H」を決定する。さらに、当否判定結果がハズレの場合であれば、RAM308の保留記憶部から先に取得した1セット分の乱数のうちのハズレ用特図乱数(取り得る数値範囲は0〜99)から特図Iの図柄当選データを引き、キャリーが発生した場合は「特図I」に当選とし、キャリーが発生しなかった場合には、特図Iの図柄当選データを引いた値からさらに特図Jの図柄当選データを引き、ここではキャリーが発生するため「特図J」に当選とする。なおここでも、特図Jの図柄当選データを引く前に、「特図J」に当選したと判定してもよい。このようにして、当否判定結果がハズレの場合には、特図決定結果として「特図I」または「特図J」を決定する。なお、第1副制御部400では、ここで決定された特図決定結果に応じた装飾図柄の組合せである停止図柄態様を決定する。 When the determination result is a big hit, the CPU 304 of the main control unit 300 determines a special jackpot random number for a big hit out of one set of random numbers previously acquired from the reserved storage unit of the RAM 308 (a possible numerical range is 0 to 0). 99) from special figure A, special figure B, ... special figure F, the symbol winning data corresponding to each stop symbol is gradually subtracted, and the stop symbol when a carry occurs is used as the special symbol determination result. . If the result of the determination is a small hit, a special hit random number for a small hit (a numerical range that can be taken is 0 to 99) out of one set of random numbers previously acquired from the reserved storage unit of the RAM 308. If the symbol winning data of Fig. G is drawn and a carry occurs, "Special Illustration G" is won, and if no carry occurs, the special drawing H is further subtracted from the value obtained by subtracting the symbol winning data of Special Illustration G. The symbol winning data is drawn, and since a carry occurs here, “Special Figure H” is won. Note that before drawing the symbol winning data of the special figure H, it may be determined that the “special figure H” has been won. In this way, when the determination result is a small hit, “special figure G” or “special figure H” is determined as the special figure determination result. Further, if the determination result is a loss, a special figure random number for loss (a possible numerical range is 0 to 99) out of one set of random numbers previously acquired from the storage unit of the RAM 308 will be special figure I. If a carry occurs, the special symbol I will be selected, and if no carry occurs, the special symbol J will be further subtracted from the value obtained by subtracting the special symbol I symbol winning data. The winning data is drawn, and here a carry occurs, so “Special Figure J” is won. Here, it may be determined that “Special Figure J” has been won before drawing the symbol winning data of Special Figure J. In this way, when the determination result is lost, “Special Figure I” or “Special Figure J” is determined as the special figure determination result. Note that the first sub-control unit 400 determines a stop symbol pattern that is a combination of decorative symbols according to the special symbol determination result determined here.
また、RAM308の保留記憶部から先に取得した1セット分の乱数のうちの特図変動時間決定用乱数(取り得る数値範囲は0〜255)を取得し、取得した特図変動時間決定用乱数を用いた抽選で、、特図決定結果に基づいて、複数の変動時間のうちから特図表示装置(212,214)に特図を変動表示する時間(特図変動時間)を1つ選択する。なお、第1副制御部400では、ここで決定された特図変動時間に応じた装飾図柄表示装置208の演出態様を決定する。特図変動時間決定用乱数値を用いた抽選で複数の変動時間のうちから特図変動時間を1つ選択する主制御部300のCPU304も、抽選手段の一例に相当する。ここで、特図変動時間の抽選処理は、特図の大当りか否かを抽選する当否判定とは異なり、特図の図柄を決定する抽選とも異なる、演出に関する抽選処理に相当する。すなわち、制御状態の変更とは無関係であって、賞球の払出にも無関係な抽選処理である。 Also, a special figure variation time determination random number (possible numerical range is 0 to 255) of a set of random numbers previously acquired from the storage unit of the RAM 308 is acquired, and the acquired special map variation time determination random number is acquired. In the lottery using, based on the result of the special figure determination, one time (special figure fluctuation time) for displaying the special figure on the special figure display device (212, 214) is selected from a plurality of fluctuation times. . In addition, in the 1st sub control part 400, the production | presentation aspect of the decoration symbol display apparatus 208 according to the special figure change time determined here is determined. The CPU 304 of the main control unit 300 that selects one special figure fluctuation time from a plurality of fluctuation times by lottery using the special figure fluctuation time determination random number value also corresponds to an example of a lottery means. Here, the lottery process for the special figure variation time corresponds to the lottery process related to the production, which is different from the determination of whether or not the special figure is a big hit, and different from the lottery for determining the symbol of the special figure. That is, the lottery process is irrelevant to the change of the control state and is not related to the payout of the prize ball.
ステップS2296では、RAM308の保留記憶部から先に取得した1セット分の乱数を消去し、この特図関連抽選処理は終了になる。ステップS229の特図関連抽選処理に続いて行われるステップS231では、コマンド設定送信処理を行い、各種のコマンドが第1副制御部400に送信される。なお、第1副制御部400に送信する出力予定情報は本実施形態では16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(本実施形態では、基本コマンド、図柄変動開始コマンド、図柄変動停止コマンド、入賞演出開始コマンド、終了演出開始コマンド、当りラウンド数指定コマンド、復電コマンド、RAMクリアコマンド、特図保留増加コマンド、普図保留増加コマンドなどコマンドの種類を特定可能な情報)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成している。 In step S2296, the one set of random numbers previously acquired from the reserved storage unit of the RAM 308 is erased, and this special drawing related lottery process ends. In step S231 performed following the special figure related lottery process in step S229, a command setting transmission process is performed, and various commands are transmitted to the first sub-control unit 400. Note that the output schedule information transmitted to the first sub-control unit 400 is composed of 16 bits in the present embodiment, bit 15 is strobe information (indicating that data is set when ON), bit 11 -14 are command types (in this embodiment, basic command, symbol variation start command, symbol variation stop command, winning effect start command, end effect start command, per round number designation command, power recovery command, RAM clear command, special figure. Bits 0 to 10 are constituted by command data (predetermined information corresponding to the command type).
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、特図停止図柄を表す情報、制御状態を表す情報(時短フラグおよび確変フラグの設定状態を表す情報)、特図変動時間を表す情報などを示す情報を含み、図柄変動停止コマンドの場合であれば、特図停止図柄を表す情報(特図決定結果)、制御状態を表す情報などを含み、入賞演出開始コマンドおよび終了演出開始コマンドの場合であれば、制御状態を表す情報などを含み、当りラウンド数指定コマンドの場合であれば制御状態を表す情報、当りラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口230への入賞の有無、第2特図始動口232への入賞の有無、可変入賞口234への入賞の有無などを含む。 Specifically, the strobe information is turned on and off in the command transmission process described above. If the command type is a symbol variation start command, the command data includes information indicating the special symbol stop symbol, information indicating the control state (information indicating the setting state of the time reduction flag and the probability variation flag), and the special symbol variation time. In the case of a symbol variation stop command, information indicating a special symbol stop symbol (result of determining a special symbol), information indicating a control state, and the like, a winning effect start command and an end effect start are included. In the case of a command, information indicating a control state is included, and in the case of a per-round number designation command, information indicating a control state, a per-round number, and the like are included. When the command type indicates a basic command, device information in the command data, presence / absence of winning at the first special figure starting port 230, presence / absence of winning at the second special figure starting port 232, winning of the variable winning port 234 Includes presence or absence.
また、上述の一般コマンド回転開始設定送信処理では、コマンドデータにRAM308に記憶している、特図停止図柄を表す情報(特図決定結果)、制御状態を表す情報、特図変動時間を表す情報、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。 In the general command rotation start setting transmission process described above, information representing the special figure stop symbol (special figure determination result), information representing the control state, and information representing the special figure variation time stored in the RAM 308 as command data. The information indicating the number of the first special figure variable game or the second special figure variable game that is on hold is set.
上述の一般コマンド回転停止設定送信処理では、コマンドデータにRAM308に記憶している、特図停止図柄を表す情報(特図決定結果)、制御状態を表す情報などを示す情報を設定する。上述の一般コマンド入賞演出開始設定送信処理では、コマンドデータに、RAM308に記憶している、入賞演出期間中に装飾図柄表示装置208・各種ランプ418・スピーカ120に出力する演出制御情報、制御状態を表す情報、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。入演出開始コマンドを受信した第1副制御部400は、その入演出開始コマンドに基づいて第2副制御部500に入賞演出制御コマンドを送信する。入賞演出制御コマンドを受信した第2副制御部500は、装飾図柄表示装置208に、大当り遊技が開始されることを遊技者に報知する画像を所定のオープニング演出期間(例えば3秒間)表示させ、大当り遊技が開始する。 In the general command rotation stop setting transmission process described above, information indicating the special figure stop symbol (special figure determination result), information indicating the control state, and the like stored in the RAM 308 is set in the command data. In the above-described general command winning effect start setting transmission process, the command data includes the effect control information and the control state that are stored in the RAM 308 and are output to the decorative symbol display device 208, various lamps 418, and the speaker 120 during the winning effect period. Information indicating the number of the first special figure variable game or the second special figure variable game that is held is set. The first sub control unit 400 that has received the winning effect start command transmits a winning effect control command to the second sub control unit 500 based on the winning effect start command. The second sub-control unit 500 that has received the winning effect control command causes the decorative symbol display device 208 to display an image for notifying the player that the big hit game is started for a predetermined opening effect period (for example, 3 seconds), The jackpot game starts.
上述の一般コマンド終了演出開始設定送信処理では、コマンドデータに、RAM308に記憶している、演出待機期間中に装飾図柄表示装置208・各種ランプ418・スピーカ120に出力する演出制御情報、制御状態を表す情報、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。終了演出開始コマンドを受信した第1副制御部400は、その終了演出開始コマンドに基づいて第2副制御部500に終了演出制御コマンドを送信する。終了演出制御コマンドを受信した第2副制御部500は、装飾図柄表示装置208に大当りを終了することを遊技者に報知する画像を所定の終了演出期間(例えば3秒間)表示させ、大当り遊技が終了する。 In the above-described general command end effect start setting transmission process, the command data includes the effect control information and the control state stored in the RAM 308 and output to the decorative symbol display device 208, various lamps 418, and the speaker 120 during the effect standby period. Information indicating the number of the first special figure variable game or the second special figure variable game that is held is set. The first sub control unit 400 that has received the end effect start command transmits an end effect control command to the second sub control unit 500 based on the end effect start command. Receiving the end effect control command, the second sub-control unit 500 causes the decorative symbol display device 208 to display an image for informing the player that the big hit is to be ended for a predetermined end effect period (for example, 3 seconds). finish.
上述の一般コマンド大入賞口開放設定送信処理では、コマンドデータに、RAM308に記憶している当りラウンド数、現在のラウンド数、制御状態を表す情報などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンドデータに、RAM308に記憶している現在のラウンド数、制御状態を表す情報、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。 In the general command big prize opening release transmission process described above, information indicating the number of winning rounds stored in the RAM 308, the current number of rounds, information indicating the control state, etc. is set in the command data. In the above-described general command big prize opening closing setting transmission process, the command data, the current round number stored in the RAM 308, information indicating the control state, the first special figure variation game or the second special figure variation held. Information indicating the number of games is set.
また、このステップS231では一般コマンド特図保留増加処理も行われる。この一般コマンド特図保留増加処理では、特図保留増加コマンドのコマンドデータにRAM308の送信用情報記憶領域に記憶している特図識別情報(特図1または特図2を示す情報)、制御状態を表す情報、事前判定した特図1あるいは特図2の情報を設定する。 In step S231, a general command special figure hold increase process is also performed. In this general command special figure hold increase processing, special figure identification information (information showing special figure 1 or special figure 2) stored in the transmission information storage area of the RAM 308 in the command data of the special figure hold increase command, the control state And information on the special figure 1 or the special figure 2 determined in advance.
さらに、このステップS231では一般コマンド普図保留増加処理も行われる。この一般コマンド普図保留増加処理では、普図保留増加コマンドのコマンドデータに、制御状態を表す情報等を設定する。また、主制御部300から第1副制御部400には、普図絡みのコマンドとして、普図の変動表示が開始した(する)ことを表す普図変動開始コマンドも送信される。なお、主制御部300から第1副制御部400には、普図の変動表示が停止した(する)ことを表す普図変動停止コマンドや、一対の羽根部材2321が開放を開始した(する)ことを表す電チュー開放開始コマンドや、一対の羽根部材2321が閉鎖した(する)ことを表す電チュー閉鎖コマンドを送信するようにしてもよい。 Furthermore, in this step S231, general command usual figure hold increase processing is also performed. In this general command usual figure hold increase process, information indicating a control state is set in the command data of the general figure hold increase command. In addition, the main control unit 300 also transmits to the first sub-control unit 400 a general map change start command indicating that the normal map display has started (or is) as a general command-related command. In addition, the main control unit 300 to the first sub control unit 400 start (do) the common figure change stop command indicating that the change display of the normal figure has stopped (do) or the pair of blade members 2321. An electric chew opening start command indicating that, or an electric chew closing command indicating that the pair of blade members 2321 are closed (to do) may be transmitted.
第1副制御部400では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。また、第1副制御部400では、コマンドに含まれている当りラウンド数と現在のラウンド数に基づき、当り全ラウンドが終了するまでの残りラウンド数を取得する。 In the first sub-control unit 400, it is possible to determine the production control according to the change of the game control in the main control unit 300 by the command type included in the received output schedule information, and it is included in the output schedule information. Based on the information of the command data, the contents of effect control can be determined. In addition, the first sub-control unit 400 acquires the number of remaining rounds until all the rounds are completed based on the number of rounds included in the command and the current number of rounds.
また、このコマンド設定送信処理では、図4に示す払出制御部600にもコマンドを送信する。払出制御部600に出力する出力予定情報および払出要求情報は1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に暗号化のための今回加工種別(0〜3)、およびビット0〜3に暗号化加工後の払出要求数を示すようにしている。 In this command setting transmission process, a command is also transmitted to the payout control unit 600 shown in FIG. The output schedule information and the payout request information output to the payout control unit 600 are composed of 1 byte, strobe information (indicating that data is set when turned on) in bit 7, and power-on information in bit 6. (In the case of ON, it indicates that this is the first command transmission after power-on), the current processing type (0-3) for encryption in bits 4-5, and the encrypted processing in bits 0-3 The number of payout requests is indicated.
次に、図91に示す主制御部タイマ割込処理では、外部出力信号設定処理(ステップS233)を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路336を介してパチンコ機100とは別体の情報入力回路350に出力する。ステップS235では、デバイス監視処理を行う。 Next, in the main controller timer interrupt process shown in FIG. 91, an external output signal setting process (step S233) is performed. In this external output signal setting process, the game information stored in the RAM 308 is output to the information input circuit 350 separate from the pachinko machine 100 via the information output circuit 336. In step S235, device monitoring processing is performed.
図95は、デバイス監視処理の流れを示すフローチャートである。まず、ステップS235aでは、内部情報レジスタ3101の情報を取得する。なお、このステップS235aはタイマ割込み毎に実行されるため、内部情報レジスタ3101の情報はタイマ割込み毎に取得されることになる。 FIG. 95 is a flowchart showing the flow of device monitoring processing. First, in step S235a, information in the internal information register 3101 is acquired. Since step S235a is executed for each timer interrupt, the information in the internal information register 3101 is acquired for each timer interrupt.
ステップS235bでは、ステップS235aで取得した情報に基づいて、乱数生成回路318に異常があるか否かを判定する。なお、ここでの乱数生成回路の異常とは、周波数監視回路3182の異常および乱数監視回路3184の異常の双方を指す。ここで、異常があると判定された場合にはステップS235cに進み、異常があると判定されなかった場合にはステップS235eに進む。 In step S235b, it is determined whether there is an abnormality in the random number generation circuit 318 based on the information acquired in step S235a. Here, the abnormality of the random number generation circuit refers to both abnormality of the frequency monitoring circuit 3182 and abnormality of the random number monitoring circuit 3184. If it is determined that there is an abnormality, the process proceeds to step S235c. If it is not determined that there is an abnormality, the process proceeds to step S235e.
ステップS235cでは、乱数生成回路異常フラグをオンに設定する。なお、このフラグはRAM308内に記憶されている。より具体的には、周波数監視回路3182の異常を示すフラグおよび乱数監視回路3184の異常を示すフラグがある。以下では、これらのフラグを総称して乱数生成回路異常フラグと称する場合がある。 In step S235c, the random number generation circuit abnormality flag is set to ON. This flag is stored in the RAM 308. More specifically, there are a flag indicating abnormality of the frequency monitoring circuit 3182 and a flag indicating abnormality of the random number monitoring circuit 3184. Hereinafter, these flags may be collectively referred to as a random number generation circuit abnormality flag.
続いて実行されるステップS235dでは、乱数生成回路異常フラグ設定コマンドの送信準備が実行され、ステップS235eに進む。なお、この乱数生成回路異常フラグ設定コマンドは、周波数監視回路3182の異常か、乱数監視回路3184の異常か識別可能
な情報を含むコマンドである。
In subsequent step S235d, preparation for transmission of a random number generation circuit abnormality flag setting command is executed, and the process proceeds to step S235e. The random number generation circuit abnormality flag setting command is a command including information that can identify whether the frequency monitoring circuit 3182 is abnormal or the random number monitoring circuit 3184 is abnormal.
ステップS235eでは、その他デバイス監視処理が実行される。例えば、上述のステップ205において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無または下皿満タンエラーの有無などを監視し、ガラス枠開放エラーまたは下皿満タンエラーを検出した場合に、第1副制御部400に送信すべき送信情報に、ガラス枠開放エラーの有無または下皿満タンエラーの有無を示すデバイス情報を設定する。また、図4に示す各種ソレノイド332を駆動して第2特図始動口232や、可変入賞口234の開閉を制御したり、駆動回路324、326、330を介して普通図柄表示装置210、第1特図表示装置212、第2特図表示装置214、各種状態表示部328などに出力する表示データを、I/O310の出力ポートに設定する。また、払出要求数送信処理(ステップS219)で設定した出力予定情報をI/O310の出力ポートを介して第1副制御部400に出力する。これらの処理が終了すると、このステップS235のデバイス監視処理は終了になる。 In step S235e, other device monitoring processing is executed. For example, by reading the signal states of various sensors stored in the signal state storage area in step 205 described above, the presence or absence of a glass frame opening error or the bottom pan full error is monitored, and the glass frame open error or bottom pan full error is monitored. Device information indicating whether or not there is a glass frame open error or a lower pan full error is set in the transmission information to be transmitted to the first sub-control unit 400. Also, the various solenoids 332 shown in FIG. 4 are driven to control the opening / closing of the second special figure starting port 232 and the variable winning port 234, and the normal symbol display device 210, the first symbol is displayed via the driving circuits 324, 326, 330. Display data to be output to the first special figure display device 212, the second special figure display device 214, the various status display units 328, and the like is set in the output port of the I / O 310. Further, the output schedule information set in the payout request number transmission process (step S219) is output to the first sub-control unit 400 via the output port of the I / O 310. When these processes are finished, the device monitoring process in step S235 is finished.
続いて実行されるステップS237では、電源の遮断(電断)を検出したか否かを判定するために、低電圧信号がオンであるか否かを判定する。そして、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS239に進み、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS241に進む。 In the subsequent step S237, it is determined whether or not the low voltage signal is on in order to determine whether or not a power interruption (power interruption) has been detected. Then, when the low voltage signal is off (when the power supply cutoff is not detected), the process proceeds to step S239, and when the low voltage signal is on (when the power supply cutoff is detected), the process proceeds to step S241.
ステップS239では、タイマ割込終了処理を行う。このタイマ割込終了処理では、ステップS201で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行い、その後、図88に示す主制御部メイン処理に復帰する。一方、ステップS241では、復電時に電断時の状態に復帰するための電断時処理を行う。 In step S239, a timer interrupt end process is performed. In this timer interrupt end process, the value of each register temporarily saved in step S201 is set in each original register, interrupt permission is set, etc., and then the main control unit main process shown in FIG. 88 is executed. Return. On the other hand, in step S241, a power interruption process for returning to the power interruption state upon power recovery is performed.
図96は、主制御部における電断時処理の流れを示すフローチャートである。この電断時処理では、まず、スタックポインタを復帰データとしてRAM308の所定の領域に退避し(ステップS2431)、次いで、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスをサスペンドを示す情報に更新する(ステップS2432)。続いて、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果をRAM308に設定する(ステップS2433)。最後に、RAM308へのアクセスを禁止に設定し(ステップS2433)、この電断時処理は終了になり、やがてパチンコ機100は電断する。なお、電圧が完全に低下する前に復帰した場合には、図75に示すリセット制御回路314内に設けられたWDT3141がタイムアウトすることによってリセット制御回路314によりリセットがかかり設定されたリセット動作(ここではシステムリセット)が実行される。 以上説明した主制御部タイマ割込み処理も、主処理の一例に相当する。 FIG. 96 is a flowchart showing a flow of power interruption processing in the main control unit. In this power interruption process, first, the stack pointer is saved as a return data in a predetermined area of the RAM 308 (step S2431), and then the power status stored in the power status storage area provided in the RAM 308 is updated to information indicating suspend. (Step S2432). Subsequently, a checksum is calculated by adding all the 1-byte data stored in a predetermined area (for example, all areas) of the RAM 308 to a 1-byte register whose initial value is 0, and the calculated checksum Is set in the RAM 308 (step S2433). Finally, access to the RAM 308 is set to be prohibited (step S2433), the power interruption process is terminated, and the pachinko machine 100 is eventually disconnected. When the voltage is restored before the voltage completely decreases, the reset operation is performed by the reset control circuit 314 when the WDT 3141 provided in the reset control circuit 314 shown in FIG. System reset). The main control unit timer interrupt process described above also corresponds to an example of the main process.
続いて、図91に示す入賞受付処理(ステップS217)のうち、特図当選乱数および普図当選乱数を取得する処理について説明する。図96は、ステップS217における入賞受付処理のうち、特図当選乱数および普図当選乱数を取得する処理の流れを示した図である。 Next, a process of acquiring the special winning random number and the normal winning random number in the winning acceptance process (step S217) shown in FIG. 91 will be described. FIG. 96 is a diagram showing a flow of processing for acquiring the special winning random number and the normal winning random number in the winning acceptance process in step S217.
ステップS217aでは、乱数生成回路異常フラグがオンに設定されているか否かを判定する。このフラグは、図95のステップS235cで設定されるフラグであり、乱数更新用のクロックの周波数に異常があった場合や、図77に示す乱数更新回路3183で更新される乱数が正常に更新されなかった場合等に、対応するフラグがオンに設定される。このフラグがオンに設定されている場合には、この入賞受付処理は終了になり、異常がなかった場合にはステップS217bに進む。 In step S217a, it is determined whether or not the random number generation circuit abnormality flag is set to ON. This flag is set in step S235c of FIG. 95, and when the frequency of the random number update clock is abnormal, or the random number updated by the random number update circuit 3183 shown in FIG. 77 is updated normally. If not, the corresponding flag is set to ON. If this flag is set to ON, the winning acceptance process is terminated. If there is no abnormality, the process proceeds to step S217b.
ステップS217bでは、第1特図始動口230に入賞したことを表す特図1の入球信号があり、且つ、保留している特図変動遊技の数が所定数(本実施形態では4)未満であるか否かを判定し、否定的な場合にはステップS217fへ進み、肯定的な場合にはステップS217cに進む。ステップS217cでは、RAM308に用意された確変フラグを参照し、確率変動中(特図高確率状態)か否かを判定する。確変フラグがオフに設定されていれば、非確率変動中(特図低確率状態)であり、ステップS217dが実行される。このステップS217dでは、乱数生成回路318のチャンネルCH1の乱数レジスタから乱数を取得する。本実施形態では乱数をラッチする契機となる入球信号とは別に、CPUに同様の信号が送られ、CPUはその信号を受信したことに基づいて所定のチャンネル(ここではCH1)における信号に対応する乱数レジスタからラッチされている乱数を取得する。CPU304は、取得した乱数にRレジスタの値を加算し、さらに1を加えた値を特図1当選乱数として得、ステップS217fに進む。なお、CPU304は、図23に示すステップS1053aにおいて設定された乱数生成範囲を認識しており、その乱数生成範囲に基づいて加算処理を行う。すなわち、加算した値が乱数生成範囲の最大値を超える場合には当該乱数生成範囲の最小値に残りの値を加算する。 In step S217b, there is a special signal of FIG. 1 indicating that the first special figure starting port 230 has won, and the number of special figure variable games held is less than a predetermined number (4 in this embodiment). If the result is negative, the process proceeds to step S217f. If the result is positive, the process proceeds to step S217c. In step S217c, the probability variation flag prepared in the RAM 308 is referred to and it is determined whether or not the probability is changing (special figure high probability state). If the probability variation flag is set to OFF, it means that non-probability variation is in progress (special figure low probability state), and step S217d is executed. In step S217d, a random number is acquired from the random number register of channel CH1 of the random number generation circuit 318. In the present embodiment, a similar signal is sent to the CPU separately from the incoming signal that triggers random number latching, and the CPU responds to a signal in a predetermined channel (here, CH1) based on the reception of the signal. Get the latched random number from the random number register. The CPU 304 adds the value of the R register to the obtained random number, and further obtains a value obtained by adding 1 as the special figure 1 winning random number, and proceeds to step S217f. The CPU 304 recognizes the random number generation range set in step S1053a shown in FIG. 23, and performs addition processing based on the random number generation range. That is, when the added value exceeds the maximum value of the random number generation range, the remaining value is added to the minimum value of the random number generation range.
一方、確変フラグがオンに設定されていれば、確率変動中であり、ステップS217eが実行される。このステップS217eでは、乱数生成回路318のチャンネルCH2の乱数レジスタから乱数を取得し、ステップS217dと同様に、CPU304は、取得した乱数にRレジスタの値を加算し、さらに1を加えた値を特図1当選乱数として得、ステップS217fに進む。 On the other hand, if the probability variation flag is set to ON, the probability is changing, and step S217e is executed. In this step S217e, a random number is acquired from the random number register of the channel CH2 of the random number generation circuit 318, and as in step S217d, the CPU 304 adds the value of the R register to the acquired random number, and further adds a value obtained by adding 1. 1 is obtained as a winning random number, and the process proceeds to step S217f.
ステップS217fでは、第2特図始動口232に入賞したことを表す特図2の入球信号があり、且つ、保留している特図変動遊技の数が所定数(本実施形態では4)未満であるか否かを判定し、否定的な場合にはステップS217jへ進み、肯定的な場合にはステップS217gに進む。ステップS217gでも、ステップS217cと同様に、RAM308に用意された確変フラグを参照し、確変フラグがオフに設定されていれば(非確率変動中であれば)、乱数生成回路318のチャンネルCH1の乱数レジスタから乱数を取得し、ステップS217dと同様に、CPU304は、取得した乱数にRレジスタの値を加算し、さらに1を加えた値を、ここでは特図2当選乱数として得(ステップS217h)、ステップS217jに進む。一方、確変フラグがオンに設定されていれば(確率変動中であれば)、乱数生成回路318のチャンネルCH2の乱数レジスタから乱数を取得し、同じくステップS217dと同様に、CPU304は、取得した乱数にRレジスタの値を加算し、さらに1を加えた値を特図2当選乱数として得(ステップS217i)、ステップS217jに進む。 In step S217f, there is a special signal of FIG. 2 indicating that the second special figure starting port 232 has been won, and the number of special figure variable games held is less than a predetermined number (4 in this embodiment). If the result is negative, the process proceeds to step S217j. If the result is positive, the process proceeds to step S217g. Also in step S217g, as in step S217c, the probability variation flag prepared in the RAM 308 is referred to, and if the probability variation flag is set to OFF (if non-probability variation is in progress), the random number of channel CH1 of the random number generation circuit 318 The random number is acquired from the register, and similarly to step S217d, the CPU 304 adds the value of the R register to the acquired random number, and further obtains a value obtained by adding 1 as a special figure 2 winning random number (step S217h), The process proceeds to step S217j. On the other hand, if the probability variation flag is set to ON (if the probability is changing), the random number is acquired from the random number register of the channel CH2 of the random number generation circuit 318, and similarly to step S217d, the CPU 304 The value of the R register is added to the value, and a value obtained by adding 1 is obtained as the special figure 2 winning random number (step S217i), and the process proceeds to step S217j.
ステップS217jでは、普図始動口228に入賞したことを表す普図の入球信号があり、且つ、保留している普図変動遊技の数が所定数(本実施形態では2)未満であるか否かを判定し、否定的な場合には入賞受付処理は終了になり、肯定的な場合にはステップS217kに進む。ステップS217kでは、RAM308に用意された時短フラグを参照し、時短フラグがオフに設定されていれば、普図低確率状態(非電サポ中)であり、ステップS217lが実行される。ステップS217lでは、乱数生成回路318のチャンネルCH3の乱数レジスタから普図当選乱数として乱数を取得し、この入賞受付処理は終了になる。一方、時短フラグがオンに設定されていれば、普図高確率状態(電サポ中)であり、ステップS217mが実行される。ステップS217mでは、乱数生成回路318のチャンネルCH4の乱数レジスタから普図当選乱数として乱数を取得し、入賞受付処理は終了になる。 In step S217j, whether there is a general-purpose entrance signal indicating that a win has been made at the general-purpose start opening 228, and whether the number of general-purpose variable games that are on hold is less than a predetermined number (2 in this embodiment). If the answer is negative, the winning acceptance process ends. If the answer is affirmative, the process proceeds to step S217k. In step S217k, the time reduction flag prepared in the RAM 308 is referred to. If the time reduction flag is set to OFF, it is a normal low probability state (non-electric support), and step S217l is executed. In step S217l, a random number is acquired as a normal winning random number from the random number register of channel CH3 of the random number generation circuit 318, and this winning acceptance process ends. On the other hand, if the time reduction flag is set to ON, it is a normal high probability state (during electric support), and step S217m is executed. In step S217m, a random number is acquired as a regular winning random number from the random number register of channel CH4 of the random number generation circuit 318, and the winning acceptance process is completed.
ここで、上記説明した内容を踏まえて、遊技台への電圧供給が低下した場合の動作について説明する。例えば大当たり中の状態で停電などによって電源が切られた場合、再度電源投入によって遊技台が初期状態になると、遊技者にとって著しく不利益な状態になる。このような事態にならないよう、コンデンサに蓄えられた電力により遊技台の状態を保持する電断時処理(図91のステップS241)が実行される。この電断時処理は、電源が切られた場合の他、静電気などの要因により供給電圧が一時的に低下した場合にも実行される。以下、電源が切られた場合(以下、電源オフと称する)の動作と、供給電圧が一時的に低下した場合(以下、瞬断と称する)の動作について、図97を用いて説明する。同図(a)は、電源オフの場合の動作を示す図であり、(b)は、瞬断の場合の動作を示す図である。 Here, based on the content described above, the operation when the voltage supply to the game machine is reduced will be described. For example, when the power is turned off due to a power failure or the like in a big hit state, when the game table is returned to the initial state by turning on the power again, the player becomes extremely disadvantageous. In order to prevent such a situation from occurring, a power interruption process (step S241 in FIG. 91) for holding the state of the game machine with the electric power stored in the capacitor is executed. This power interruption process is executed not only when the power is turned off, but also when the supply voltage temporarily decreases due to factors such as static electricity. Hereinafter, an operation when the power is turned off (hereinafter referred to as “power off”) and an operation when the supply voltage is temporarily reduced (hereinafter referred to as “momentary interruption”) will be described with reference to FIG. FIG. 4A is a diagram showing an operation when the power is off, and FIG. 4B is a diagram showing an operation when there is an instantaneous interruption.
電源が切られた場合、電圧が供給されなくなる(電断発生)が、すぐに電圧は0にはならず、コンデンサに蓄えられた電力により供給電圧が徐々に降下する。供給電圧が所定の電圧(本実施形態では9V)まで効果すると電圧監視回路338から低電圧信号がCPU304に送信される。この信号を受信したことにより、主制御部タイマ割込み処理のステップS237により電断が発生したと判定され、ステップS241の電断時処理が実行される。図97(a)には、電断が発生してから供給電圧が9Vに降下するまで通常処理が実行され、供給電圧が9Vになった時点で電断時処理が開始されていることが示されている。この電断時処理により、RAM308の内部に遊技台の状態を示すデータが記憶される。なお、本実施形態では、この電断時処理の実行に必要な時間(主制御部電断時処理猶予時間)を十分確保することができるコンデンサが備えられている。その後、電断時処理が終了すると、そのまま待機状態になる。その後電源の供給が再開されない場合、電圧が0に落ちて遊技台の動作が停止する。 When the power is turned off, the voltage is not supplied (power interruption occurs), but the voltage does not immediately become 0, but the supply voltage gradually drops due to the electric power stored in the capacitor. When the supply voltage is effective up to a predetermined voltage (9 V in this embodiment), a low voltage signal is transmitted from the voltage monitoring circuit 338 to the CPU 304. By receiving this signal, it is determined that a power interruption has occurred in step S237 of the main control unit timer interrupt process, and the power interruption process in step S241 is executed. FIG. 97 (a) shows that the normal processing is executed until the supply voltage drops to 9V after the power failure occurs, and the power interruption processing is started when the supply voltage becomes 9V. Has been. By this power interruption process, data indicating the state of the game machine is stored in the RAM 308. In the present embodiment, a capacitor is provided that can sufficiently secure the time required for the execution of the power interruption process (main control section power interruption time delay). After that, when the process at the time of power interruption is completed, the apparatus is in a standby state as it is. Thereafter, when the supply of power is not resumed, the voltage drops to 0 and the operation of the game machine stops.
一方、瞬断の場合にも、電圧監視回路338から低電圧信号がCPU304に送信されることにより、上記電断時処理が実行された後、そのまま待機状態になる。図97(b)には、一時的な電圧降下により、電断時処理が開始されていることが示されている。ここで、電圧が動作電圧まで回復しても、待機状態が継続する。この待機状態が継続していると、主制御部300のリセット制御回路314のWDT3141がリスタートされず(図91のステップS203が実行されない)、WDT3141がタイムアウトする。このことによりリセット制御回路314はシステムリセット信号を出力する。その後、図88に示す主制御部メイン処理が再開すると、電断時処理で記憶されていたデータに基づいてステップS109のデータ書き戻し処理を含む復帰処理(ステップS109〜ステップS111)が実行される。図97(b)には、WDT3141のタイムアウトによるリセット信号が送信されたことにより、待機状態から復帰処理(リセット処理)に移っていることが示されている。この復帰処理により遊技台の状態が電断時処理前の状態に復帰する。なお、ここで、電断時処理で記憶されていたデータに不具合があった場合は、電断時処理前の状態に復帰できないと判定され、RAM308の内容がクリアされる(図88のステップS113)。 On the other hand, even in the case of a momentary interruption, a low voltage signal is transmitted from the voltage monitoring circuit 338 to the CPU 304, so that the power interruption process is executed, and then the apparatus enters a standby state. FIG. 97 (b) shows that the power interruption process is started due to a temporary voltage drop. Here, even if the voltage recovers to the operating voltage, the standby state continues. If this standby state continues, WDT 3141 of reset control circuit 314 of main control unit 300 is not restarted (step S203 in FIG. 91 is not executed), and WDT 3141 times out. As a result, the reset control circuit 314 outputs a system reset signal. Thereafter, when the main process of the main control unit shown in FIG. 88 is resumed, the return process (steps S109 to S111) including the data write-back process in step S109 is executed based on the data stored in the power interruption process. . FIG. 97 (b) shows that a reset signal due to timeout of WDT 3141 is transmitted, so that the process shifts from a standby state to a return process (reset process). By this return processing, the state of the gaming table is restored to the state before the processing at the time of power interruption. Here, if there is a problem with the data stored in the power interruption process, it is determined that the state before the power interruption process cannot be restored, and the contents of the RAM 308 are cleared (step S113 in FIG. 88). ).
次に、本実施形態の乱数生成回路318により、乱数の生成範囲を設定することの効果について説明し、その後問題点について説明する。上述したように本実施形態の遊技台が有する乱数生成回路318では、抽選結果の基になる乱数の生成範囲を設定することができる。この機能を利用して、遊技状態の設定が容易になる。 Next, the effect of setting a random number generation range by the random number generation circuit 318 of the present embodiment will be described, and then problems will be described. As described above, the random number generation circuit 318 included in the gaming machine of the present embodiment can set a random number generation range that is the basis of the lottery result. Using this function, the game state can be easily set.
まず、乱数生成範囲が0〜65535の場合について説明する。例えば、これらの乱数が当たりかハズレのいずれかに対応している場合に、当選確率が1/400(0.25%)になるように設計しようとしたとする。生成される乱数は65536通りあるが、65536の1/400を計算すると163.84となり、整数にならない。仮にこの数字に近い164通りの乱数を当たりに対応させた場合、厳密には1/400の当選確率にならない。 First, the case where the random number generation range is 0 to 65535 will be described. For example, when these random numbers correspond to either winning or losing, an attempt is made to design the winning probability to be 1/400 (0.25%). There are 65536 random numbers to be generated, but when 1/400 of 65536 is calculated, it is 163.84, which is not an integer. If 164 random numbers close to this number are made to correspond, the winning probability is not exactly 1/400.
ここで、上記の乱数生成範囲が0〜49999に設定されたとする。上記の場合と同様に当選確率が1/400(0.25%)になるようにするには、生成される乱数50000通りの1/400、すなわち125通りの値を当たりに対応させればよい。例えば、50000通り乱数のうち0〜124までの値を当たりに対応させ、それ以外の125〜49999の値をハズレに対応付けることで、当選確率を1/400にすることができる。すなわち、当選確率が設計値通り(例えば1/400)になるように、乱数生成範囲(例えば0〜49999)および当たりに対応する乱数の範囲(例えば0〜124)をそれぞれ設定することができる。 Here, it is assumed that the random number generation range is set to 0-49999. Similarly to the above case, in order to make the winning probability 1/400 (0.25%), it is only necessary to match 1/400 of the generated random numbers 50000, that is, 125 values. . For example, the winning probability can be reduced to 1/400 by associating a value of 0 to 124 among 50000 random numbers and associating other values of 125 to 49999 with a loss. That is, the random number generation range (for example, 0 to 49999) and the random number range (for example, 0 to 124) corresponding to the winning can be set so that the winning probability is as designed (for example, 1/400).
以上説明したように、乱数生成範囲を適切に設定することによって、所望の当選確率を設定することができる。これによって、例えば小当たりに対応する乱数生成範囲を除外して大当たりに対応する乱数生成範囲を残したり、あるいは大当たりに対応する乱数生成範囲の半分に該当する乱数が生成されないようにすることも可能である。特に図82を用いて説明したような乱数生成範囲が設定できれば、最大値だけを設定する場合と比較して遊技台の設計が容易になる。このため、乱数生成範囲を設定することは、遊技台の設計において有用であると言える。 As described above, a desired winning probability can be set by appropriately setting the random number generation range. For example, it is possible to exclude the random number generation range corresponding to the jackpot and leave the random number generation range corresponding to the jackpot, or to prevent generation of random numbers corresponding to half of the random number generation range corresponding to the jackpot. It is. In particular, if a random number generation range as described with reference to FIG. 82 can be set, it becomes easier to design a gaming machine than when only the maximum value is set. For this reason, it can be said that setting the random number generation range is useful in the design of a game machine.
次に、乱数生成範囲を異ならせることにより、当選確率を変更する方法について説明する。例えば、0〜49999の乱数生成範囲のうち、0〜124までの値を当たりに対応させた状態から、乱数生成範囲の最大値を49999から249に変更したとする。この場合、0〜124までの値が当たりに対応し、125〜249までの値がハズレに対応し、当選確率は1/2になる。すなわち、当たり又はハズレに対応する値を固定したまま乱数生成範囲だけを異ならせることにより、当選確率を容易に変更することができる。なお、上記説明では、よりわかり易くするために、当たりの範囲を偏らせた例について説明したが、当たりの範囲が偏っていなくてもよい。 Next, a method for changing the winning probability by changing the random number generation range will be described. For example, it is assumed that the maximum value of the random number generation range is changed from 49999 to 249 from the state in which the values from 0 to 124 are associated with each other in the random number generation range of 0 to 49999. In this case, the value from 0 to 124 corresponds to the win, the value from 125 to 249 corresponds to the loss, and the winning probability is ½. That is, the winning probability can be easily changed by changing only the random number generation range while fixing the value corresponding to the winning or losing. In the above description, in order to make it easier to understand, the example in which the hit range is biased has been described, but the hit range may not be biased.
生成された乱数に基づいて当たりかハズレかを判定する方法として、これらの対応を定めたテーブルを用意しておき、これを使用する方法が考えられる。しかし、この方法で当選確率を変更しようとした場合、当選確率に対応するテーブルをそれぞれ用意しておき、遊技の状態に応じてこれらを使い分ける処理を実行させる必要がある。上記説明した方法では、当たり又はハズレに対応する値を定めたテーブルが一つですむため、メモリの容量負担が少なくて済む。当然のことながら、テーブルを切り替える処理は不要である。 As a method for determining whether it is a hit or a loss based on the generated random number, a method that prepares a table that defines these correspondences and uses this table can be considered. However, if the winning probability is to be changed by this method, it is necessary to prepare a table corresponding to the winning probability and execute a process for selectively using these according to the state of the game. In the above-described method, only one table in which values corresponding to winning or losing are determined is required, so that the memory capacity burden can be reduced. As a matter of course, the process of switching the table is unnecessary.
なお、本実施形態では、乱数生成範囲の異なる複数の乱数生成チャンネルを用意し、これらを使い分けることにより遊技中の当選確率を変更しているが、一つのチャンネルに対して適宜乱数生成範囲を変更する構成を用いて当選確率を変更させてもよい。また、本実施形態では、乱数を加工した上で抽選に用いる場合があるが、この場合、加工を考慮したうえで対応するテーブルを用意すればよい。 In this embodiment, a plurality of random number generation channels having different random number generation ranges are prepared, and the winning probability during the game is changed by using these channels properly. However, the random number generation range is appropriately changed for one channel. The winning probability may be changed by using a configuration to do so. In this embodiment, random numbers may be processed and used for lottery. In this case, a corresponding table may be prepared in consideration of processing.
ここで、図98を用いて、乱数生成範囲が意図せずに変更されてしまった場合の問題について説明する。同図は、乱数生成範囲の問題点を示す図である。例えば、静電気等の要因によって上述した瞬断が生じ、その後復帰処理(ユーザリセット)が実行されたとする。この場合、乱数生成回路318の内部レジスタは、そのまま復帰処理以前の状態が維持される。ところが、電圧の変化によって内部レジスタの情報が書き換わる可能性がある。これによって乱数生成範囲が意図せずに変更されると、当選確率が変わってしまうことになる。 Here, a problem when the random number generation range is unintentionally changed will be described with reference to FIG. The figure shows the problem of the random number generation range. For example, it is assumed that the above-described instantaneous interruption occurs due to factors such as static electricity, and then a return process (user reset) is performed. In this case, the internal register of the random number generation circuit 318 is maintained as it is before the return process. However, information in the internal register may be rewritten due to a change in voltage. If the random number generation range is changed unintentionally, the winning probability will change.
例えば、非確率変動状態において、図98(a)の上段に示すように、0〜49999の乱数生成範囲が設定されており、さらにこのうち0〜124(左下がりのハッチングで示す範囲)が当たりに対応する乱数であるとする。この状態で静電気等の要因が生じ、乱数生成範囲が0〜250になったとする。この場合、当選確率が1/400から1/2になってしまうため、店側にとっては大きな損害になってしまう。 For example, in the non-stochastic fluctuation state, as shown in the upper part of FIG. 98 (a), a random number generation range of 0 to 49999 is set, and further, 0 to 124 (range indicated by left-down hatching) is hit. Is a random number corresponding to. It is assumed that a factor such as static electricity is generated in this state, and the random number generation range becomes 0 to 250. In this case, since the winning probability is reduced from 1/400 to 1/2, the store side is seriously damaged.
また、確率変動状態において、図98(b)の上段に示すように、0〜4999の乱数生成範囲が設定されており、さらにこのうち0〜124(左下がりのハッチングで示す範囲)が当たりに対応する乱数であるとする。この状態で静電気等の要因が生じ、乱数生成範囲が0〜59999になったとする。この場合、当選確率が1/40から1/480になってしまうため、遊技者にとって著しく不利益になる。 Also, in the probability variation state, as shown in the upper part of FIG. 98 (b), a random number generation range of 0 to 4999 is set, and among these, 0 to 124 (range indicated by left-downward hatching) is the hit. Assume that the corresponding random number. It is assumed that a factor such as static electricity is generated in this state and the random number generation range becomes 0 to 59999. In this case, the winning probability is reduced from 1/40 to 1/480, which is extremely disadvantageous for the player.
上記の例で説明したように、乱数が生成される数値範囲を任意の数値範囲に制限する手法を用いて抽選処理を行うと、何らかの異常で制限した数値範囲が変化した場合に抽選処理の不安定化を招いてしまうという問題が生じる。 As explained in the above example, if lottery processing is performed using a method that limits the numerical range in which random numbers are generated to an arbitrary numerical range, the lottery processing will not be performed if the numerical range restricted due to some abnormality changes. There arises a problem that it leads to stabilization.
このような事態を防止するため、本実施形態の遊技台では、図90のステップS1053aにおいて、乱数生成範囲を復帰処理の要因が発生した直前の状態に設定し直す処理を実行させる。このように再度乱数生成範囲を設定し直すことによって、上記のような問題が生じないようにすることができる。すなわち、乱数が生成される数値範囲を任意の数値範囲に制限する手法を用いて抽選処理を行いつつも、抽選処理の不安定化を招くことを抑止することができる。 In order to prevent such a situation, in the gaming machine of this embodiment, in step S1053a in FIG. 90, a process for resetting the random number generation range to a state immediately before the cause of the return process is executed. By re-setting the random number generation range in this way, the above problem can be prevented from occurring. That is, it is possible to prevent the lottery process from becoming unstable while performing the lottery process using a method of limiting the numerical value range in which the random number is generated to an arbitrary numerical value range.
なお、本実施形態では、遊技台の起動時に乱数生成範囲が設定されるため、復帰処理の要因が発生した直前の状態が、初期状態と同じであるが、例えば、遊技中に乱数生成範囲を変更可能な構成の場合には、直前の状態に戻す処理が実行されればよい。 In this embodiment, since the random number generation range is set when the game machine is started, the state immediately before the cause of the return process is the same as the initial state. For example, the random number generation range is set during the game. In the case of a changeable configuration, a process for returning to the previous state may be executed.
また、本実施形態のように、乱数生成範囲が設定されていたチャンネルに対しては乱数生成範囲を設定し直すとともに、乱数生成範囲が設定されていないチャンネルに対しては乱数生成範囲を設定し直さない構成の場合、初期化されるチャンネルと初期化されないチャンネルが存在することになる。この場合、基本回路302の外部からチャンネルが初期化されたか否かがわからないため、不正を防止する効果がある。 In addition, as in this embodiment, the random number generation range is reset for a channel for which the random number generation range is set, and the random number generation range is set for a channel for which the random number generation range is not set. In the case of a configuration that is not corrected, there are channels that are initialized and channels that are not initialized. In this case, since it is not known whether the channel is initialized from the outside of the basic circuit 302, there is an effect of preventing fraud.
さらに、本実施形態の遊技台では、図90のステップS1053bにおいて、乱数レジスタ3188をラッチすることを許容する許容状態にしている。このようにすることで、乱数レジスタ3188にラッチされている乱数に異常があった場合に、この乱数が使用される頻度を下げることができる。この際乱数ラッチフラグレジスタ3189の内容は、乱数レジスタ3188が乱数をラッチすることが可能な状態であることを示す情報に書き換えられる。なお、本実施形態では、ユーザプログラムによって、乱数レジスタ3188を許容状態にすることと、乱数生成範囲の設定を同時に実行している(図89参照)が、ハ ードウェアを用いて許容状態にするようにしてもよい。なお、本実施形態の遊技台では乱数レジスタ3188が許容状態になっても新たに乱数をラッチするまでは乱数は残った状態になるが、可能であれば乱数レジスタ3188の値を所定の値に設定(例えば0に設定)するようにしてもよい。この場合には、異常の可能性がある乱数を使用させないようにすることができる。 Furthermore, in the gaming machine of this embodiment, the random number register 3188 is allowed to be latched in step S1053b of FIG. In this way, when there is an abnormality in the random number latched in the random number register 3188, the frequency with which this random number is used can be lowered. At this time, the content of the random number latch flag register 3189 is rewritten with information indicating that the random number register 3188 is in a state in which the random number can be latched. In this embodiment, the random number register 3188 and the random number generation range are set simultaneously by the user program (see FIG. 89). It may be. In the gaming machine of the present embodiment, even if the random number register 3188 enters the permissible state, the random number remains until a new random number is latched. You may make it set (for example, set to 0). In this case, it is possible not to use random numbers that may be abnormal.
上記説明した再設定は、WDT3141によるユーザリセットが実行された場合には、そのユーザリセットが実行されてから、駆動電圧の判定(図87のステップS103)を経て実行される(図87のステップS1053)この判定処理に要する時間は電圧の供給具合に依存するため、一定ではない。このため再設定を反映した乱数が出力され始めるタイミングにランダム性を持たせることができ、不正防止に効果がある。なお上述した、CPU304からの更新命令が来た時点で乱数の最大値を更新する構成の場合にも、同様の効果がある。 When the user reset by the WDT 3141 is executed, the above-described resetting is executed through the determination of the drive voltage (step S103 in FIG. 87) after the user reset is executed (step S1053 in FIG. 87). The time required for this determination process is not constant because it depends on the voltage supply. For this reason, it is possible to give randomness to the timing at which random numbers reflecting the resetting start to be output, which is effective in preventing fraud. Note that the same effect can be obtained in the above-described configuration in which the maximum random number is updated when an update command is received from the CPU 304.
なお、上記の説明では、電圧の変化によって生じる問題およびその対処法についての一例について説明したが、他にも例えば乱数生成回路318のスタート値選択回路3183b内の値が書き換わってしまう可能性もある。この場合、本来生成されるはずのない値が、乱数更新回路3183から出力されてしまう虞がある。このような問題に対しても、上記の乱数生成範囲の例と同様に、スタート値選択回路3183b内の値を復帰処理の要因が発生した直前の状態に設定し直す処理を実行させることにより、上記のような問題が生じないようにすることができる。また、乱数生成範囲に応じて、別途スタート値選択回路3183b内の値を設定し直すようにしてもよい。すなわち、乱数生成回路318で設定可能な値を必要に応じて適切に設定し直す処理を実行させることにより、電圧の変化により異常な動作を起こさないようにすることができる。 In the above description, an example of a problem caused by a change in voltage and a countermeasure for the problem has been described. However, for example, a value in the start value selection circuit 3183b of the random number generation circuit 318 may be rewritten. is there. In this case, a value that should not be generated may be output from the random number update circuit 3183. Also for such a problem, as in the example of the random number generation range described above, by executing a process of resetting the value in the start value selection circuit 3183b to the state immediately before the cause of the return process occurs, It is possible to prevent the above problems from occurring. In addition, the value in the start value selection circuit 3183b may be reset separately according to the random number generation range. That is, it is possible to prevent an abnormal operation from occurring due to a voltage change by executing a process of appropriately resetting a value that can be set by the random number generation circuit 318 as necessary.
また、電圧の変化以外にも、例えば、指定エリア外走行によって予期せぬ動作が生じた場合にも、上記のような問題が生じる虞がある。特に、指定エリア外走行の場合は、プログラムミス等によって同じ状況が再現される可能性が高く、電圧が変化した場合よりも不正をしやすくなる虞がある。従って、本実施形態では、指定エリア外走行が生じた場合でも、図90のステップS1053aおよびステップS1053bによる再設定を行うようにしている。 In addition to the change in voltage, for example, when an unexpected operation occurs due to traveling outside the specified area, the above-described problem may occur. In particular, when traveling outside the designated area, there is a high possibility that the same situation will be reproduced due to a program mistake or the like, and there is a risk that fraud will be easier than when the voltage changes. Therefore, in the present embodiment, even when traveling outside the designated area occurs, resetting is performed by step S1053a and step S1053b in FIG.
ここで、上記説明を踏まえて、図88の主制御部メイン処理におけるWDT3141の起動開始のタイミング(ステップS111、ステップS115)について説明を補足する。通常WDTでは、プログラムの実行とは独立してカウントアップが行われている。この構成により、プログラムの実行に何らかの問題があっても、これに影響されずにリセット動作(ユーザリセット)を実行することができる。このため、WDTは初期設定時に起動(再起動)される必要がある。しかし、この起動タイミングによっては、問題が生じることがある。この問題について、図88におけるステップS101の初期設定1の直後にWDTを起動する場合を例に挙げて説明する。 Here, based on the above description, a supplementary description will be given of the start timing (steps S111 and S115) of WDT 3141 in the main process of the main control unit in FIG. In normal WDT, counting up is performed independently of program execution. With this configuration, even if there is some problem in the execution of the program, the reset operation (user reset) can be executed without being affected by this. For this reason, WDT needs to be activated (reactivated) at the time of initial setting. However, there may be a problem depending on the start timing. This problem will be described with reference to an example in which WDT is activated immediately after initial setting 1 in step S101 in FIG.
ユーザリセットによってRAM308に復帰用のデータが記憶されている状態で、主制御部メイン処理が開始されたとする。まず、ステップS101によって初期設定1が実行され、次いでWDTが起動する。次に、駆動電圧が十分確保されるまでステップS103による待機処理が実行される。 It is assumed that the main process of the main control unit is started in a state where data for restoration is stored in the RAM 308 by the user reset. First, initial setting 1 is executed in step S101, and then WDT is activated. Next, standby processing in step S103 is executed until a sufficient drive voltage is secured.
例えば供給電圧の不安定に起因して上記のユーザリセットが実行された場合等に、この待機処理の実行時間が長くなる場合がある。ここで待機処理に時間がかかると、後のステ For example, when the above-described user reset is executed due to instability of the supply voltage, the execution time of this standby process may become long. If the standby process takes time here,
ップS107やステップS109の実行中にWDTがタイムアウトして、再度ユーザリセットが実行されてしまう場合がある。この場合、再度主制御部メイン処理が最初から実行されるため、RAM308に記憶されている復帰用のデータがレジスタに戻されるまでの処理時間が長くなってしまう。 In some cases, the WDT times out during execution of step S107 or step S109, and the user reset is executed again. In this case, since the main control unit main process is executed again from the beginning, the processing time until the return data stored in the RAM 308 is returned to the register becomes long.
さらに、例えばステップS109において、RAM308のデータをレジスタに戻すとともに、RAM308のデータを消去する処理が実行されている場合には、RAM308のデータの一部が消去されている状態でユーザリセットが実行される可能性もある。この場合には、再度主制御部メイン処理が最初から実行されても、RAM308の復帰用のデータは不完全なものであり、ステップS107で復帰可能と判定されないことになる。仮にステップS107で復帰可能と判定されてもステップS109のデータ書き戻し処理で完全にユーザリセット前の状態に復帰させることができない。 Further, for example, in step S109, when the process of returning the data of the RAM 308 to the register and erasing the data of the RAM 308 is executed, the user reset is executed in a state where a part of the data of the RAM 308 is erased. There is also a possibility. In this case, even if the main control unit main process is executed again from the beginning, the restoration data in the RAM 308 is incomplete, and it is not determined that restoration is possible in step S107. Even if it is determined in step S107 that recovery is possible, the data write-back processing in step S109 cannot completely return to the state before the user reset.
このような問題を回避するため、本実施形態では、WDT3141によるタイムアウトではシステムリセットを実行するようにしているが、本実施形態ではさらに、WDT3141によるタイムアウトでユーザリセットを実行してもよいように、駆動電圧の判定後から主制御部タイマ割込み処理が許可されるまでの間にWDT3141を起動するように構成している(ステップS111、ステップS115)。なお、上記構成は一例であり、ユーザリセット後に主制御部メイン処理が開始されてから、主制御部タイマ割込み処理が許可されるまでの間にWDT3141がタイムアウトしないように、WDT3141を起動させるようにすることが好ましい。また、ユーザリセットが行われてから、主制御部によって遊技の進行が開始される(本実施形態では、主制御部メイン処理のステップS117〜ステップS119が開始され、かつ、主制御部タイマ割込み処理が開始される)までの間に、WDT3141がタイムアウトしないように、WDT3141を起動させることが好ましい。特に、ユーザリセット後に遊技を復帰させるための処理(遊技の進行を開始可能にするための処理)に、液晶画像表示装置(装飾図柄表示装置)の初期設定処理を実行させるための待機処理が含まれる場合には、上記の問題がより生じやすくなるため、上記説明したタイミングでのWDT3141の起動がより効果的である。さらに、主制御部タイマ割込み処理の最初の処理において、WDT3141を起動させるようにしても、上記の問題を回避することができる。なお、上記説明ではユーザリセットが実行された場合を例に説明しているが、システムリセットが実行された場合であっても同様である。 In order to avoid such a problem, in this embodiment, a system reset is executed by a timeout by WDT 3141. However, in this embodiment, a user reset may be further executed by a timeout by WDT 3141. The WDT 3141 is configured to be activated after the drive voltage is determined until the main control unit timer interrupt process is permitted (steps S111 and S115). The above configuration is an example, and WDT 3141 is activated so that WDT 3141 does not time out after main control unit main processing is started after user reset and before main control unit timer interrupt processing is permitted. It is preferable to do. In addition, after the user reset is performed, the main control unit starts the progress of the game (in this embodiment, steps S117 to S119 of the main control unit main process are started, and the main control unit timer interrupt process is started). WDT 3141 is preferably activated so that WDT 3141 does not time out before In particular, the process for returning the game after the user reset (the process for enabling the progress of the game) includes a standby process for executing the initial setting process of the liquid crystal image display device (decorated symbol display device). In such a case, the above problem is more likely to occur, so that the WDT 3141 is activated more effectively at the timing described above. Furthermore, even if the WDT 3141 is activated in the first process of the main control unit timer interrupt process, the above problem can be avoided. In the above description, the case where the user reset is executed is described as an example, but the same applies to the case where the system reset is executed.
ここで、図99を用いて、図79で説明した乱数更新回路3183の変形例について説明する。同図は、図79で説明した乱数更新回路3183の変形例を示す図である。この図99(a)に示す乱数更新回路3183nは、図79で説明した乱数更新回路3183に、乱数列変更回路3183dを加えたものである。 Here, a modification of the random number update circuit 3183 described with reference to FIG. 79 will be described with reference to FIG. This figure shows a modification of the random number update circuit 3183 described in FIG. A random number update circuit 3183n shown in FIG. 99A is obtained by adding a random number sequence change circuit 3183d to the random number update circuit 3183 described in FIG.
乱数列変更回路3183dは、予め内部に複数の乱数テーブルが設けられている。図99(b)には、65536個の乱数の並びを予め定めた複数の乱数列が示されている。これらの複数の乱数列を使用する際には、同じ乱数列を継続して使用するか、一つの乱数列を一周した時点で別の乱数列に変更するかを設定することができる。さらに、別の乱数列に変更する場合には、指示がなくても自動的に変更を行うか、あるいはその都度変更を指示するか否かを設定することができる。なお、カウンタ回路3183aから一巡信号を受けた時点で、一つの乱数列を一周したと判定される。 The random number sequence change circuit 3183d is provided with a plurality of random number tables in advance. FIG. 99B shows a plurality of random number sequences in which an array of 65536 random numbers is predetermined. When using these plurality of random number sequences, it is possible to set whether to use the same random number sequence continuously or to change to another random number sequence when one random number sequence is made a round. Furthermore, when changing to another random number sequence, it is possible to set whether to change automatically without an instruction or whether to instruct a change each time. Note that when a round signal is received from the counter circuit 3183a, it is determined that one round of the random number sequence has been made.
乱数列変更回路3183d内で使用する乱数列が決定されると、カウンタ回路3183aから出力されるカウント値に従って、この乱数列から値が取り出される。この取り出された値が乱数として出力される。例えば図99(b)において、乱数列Bを使用することが決定した場合に、カウント値「5」が入力されると、乱数として「9806」が出力さ れる(図99(b)の太枠で示す部分参照)。 When the random number sequence to be used in the random number sequence changing circuit 3183d is determined, a value is extracted from this random number sequence according to the count value output from the counter circuit 3183a. This extracted value is output as a random number. For example, in FIG. 99 (b), when it is decided to use the random number sequence B, when a count value “5” is input, “9806” is output as a random number (the thick frame in FIG. 99 (b)). (See the part indicated by).
ここで、最大値設定レジスタ3183cに最大値が設定された場合における処理の例について説明する。図81では、最大値設定レジスタ3183cに設定された最大値に従ってカウント回路3183aから出力される値の範囲が変更される例について説明した。なお、この図81では、このカウント回路3183aから出力される値をそのまま乱数として用いていた。ここでは、カウント回路3183aから出力される値を乱数ではなくカウント値として用い、乱数列変更回路3183dに入力する。 Here, an example of processing when the maximum value is set in the maximum value setting register 3183c will be described. In FIG. 81, the example in which the range of values output from the count circuit 3183a is changed according to the maximum value set in the maximum value setting register 3183c has been described. In FIG. 81, the value output from the count circuit 3183a is used as a random number as it is. Here, the value output from the count circuit 3183a is used as a count value instead of a random number, and is input to the random number sequence change circuit 3183d.
例えば、最大値が9999に設定された場合、0〜9999のカウント値がカウント回路3183aから出力されることになる。ここで、乱数列変更回路3183dには、最大値設定レジスタ3183cから最大値データを取得させ、乱数列の値のうち最大値を超える値を削除して空いた部分を詰める処理を実行させる。この処理により0〜9999の値をランダムに並べた乱数列が用意されることになる。この乱数列を用いて上記カウント値に対応する値を乱数として出力させると、乱数生成範囲を0〜9999とする乱数を出力させることができる。なお、上記方法は一例であり、例えば、カウント値に対応する値を乱数列から参照したときに最大値を超えている場合には以降の値を順次参照し、参照された値が最大値を超えない値であればその値を出力する、というように他の方法を用いてもよい。 For example, when the maximum value is set to 9999, a count value of 0 to 9999 is output from the count circuit 3183a. Here, the random number sequence changing circuit 3183d acquires the maximum value data from the maximum value setting register 3183c, and executes a process of deleting a value exceeding the maximum value from the values of the random number sequence and filling the empty portion. By this process, a random number sequence in which values 0 to 9999 are randomly arranged is prepared. When a value corresponding to the count value is output as a random number using this random number sequence, a random number having a random number generation range of 0 to 9999 can be output. Note that the above method is an example. For example, when a value corresponding to a count value is referred to from a random number sequence and the maximum value is exceeded, subsequent values are sequentially referred to, and the referenced value indicates the maximum value. Other methods may be used, such as outputting a value that does not exceed the value.
ここで、上記の乱数更新回路3183nを用いた場合における、乱数監視回路3184における異常の検出例について説明する。この場合には、1回の乱数の更新前後においてカウンタ回路3183aから出力されるカウント値の値を比較し、同じカウント値が出力されていないか否かをチェックする。仮に同じカウント値が出力された場合には、異常を示す情報が出力される。なお、チェックのタイミングについては、この乱数更新周期よりも長い所定の周期毎であってもよい。なお、乱数監視回路3184に乱数列変更回路3183dから出力される乱数を監視させてもよいが、上記したようにカウンタ回路3138aから出力されるカウント値を監視するようにすることで監視精度を高めるとともに、監視負担を低減することができる。 Here, an example of detecting an abnormality in the random number monitoring circuit 3184 when the random number update circuit 3183n is used will be described. In this case, the count value output from the counter circuit 3183a is compared before and after one random number update, and it is checked whether or not the same count value is output. If the same count value is output, information indicating abnormality is output. The check timing may be every predetermined cycle longer than the random number update cycle. The random number monitoring circuit 3184 may monitor the random number output from the random number sequence changing circuit 3183d. However, as described above, the monitoring accuracy is improved by monitoring the count value output from the counter circuit 3138a. At the same time, the monitoring burden can be reduced.
また、図77に示す乱数生成回路318において説明したことと同様に、乱数生成回路318の外部に乱数監視回路3183nを設けてもよく、また、乱数更新回路3183nの内部に乱数監視回路3184を設けてもよい。 In addition, as described in the random number generation circuit 318 shown in FIG. 77, a random number monitoring circuit 3183n may be provided outside the random number generation circuit 318, and a random number monitoring circuit 3184 is provided inside the random number update circuit 3183n. May be.
次に、図100を用いて、図4に示す払出制御部600が実行する払出制御部メイン処理について説明する。なお、同図は払出制御部メイン処理の流れを示すフローチャートである。 Next, with reference to FIG. 100, a payout control unit main process executed by the payout control unit 600 shown in FIG. 4 will be described. This figure is a flowchart showing the flow of the main process of the payout control unit.
図4に示す払出制御部600は、CPU、RAM、ROM、I/Oポート、および電圧監視回路を備えている。払出制御部600が備える電圧監視回路も、主制御部300が備える電圧監視回路と同じく、電源管理部650から払出制御部600に供給している電源の電圧値が所定の値(本実施形態では9v)未満である場合に電圧が低下したことを示す低電圧信号を払出制御部600のCPUに出力する。なお、主制御部300の電圧監視回路338から低電圧信号が出力されていても、この払出制御部600の電圧監視回路からは低電圧信号は出力されていないことはある。 The payout control unit 600 shown in FIG. 4 includes a CPU, a RAM, a ROM, an I / O port, and a voltage monitoring circuit. Similarly to the voltage monitoring circuit provided in the main control unit 300, the voltage monitoring circuit provided in the payout control unit 600 has a predetermined voltage value (in this embodiment, the voltage value of the power supplied from the power management unit 650 to the payout control unit 600). If it is less than 9v), a low voltage signal indicating that the voltage has dropped is output to the CPU of the payout control unit 600. Even if a low voltage signal is output from the voltage monitoring circuit 338 of the main control unit 300, the low voltage signal may not be output from the voltage monitoring circuit of the payout control unit 600.
払出制御部600には、主制御部300のCPU304から電源投入情報を含めたコマンドが送信されてくる。このコマンドを受信したことに基づいて、払出制御部600のCPUは、払出制御部メイン処理を開始する。 A command including power-on information is transmitted from the CPU 304 of the main control unit 300 to the payout control unit 600. Based on the reception of this command, the CPU of the payout control unit 600 starts the payout control unit main process.
まず、ステップS501では、初期設定1を行う。この初期設定1では、払出制御部600のCPUのスタックポインタ(SP)へのスタック初期値の設定等を行う。ステップS502では、払出制御部600の電圧監視回路から低電圧信号が出力されているか否か、すなわち低電圧信号がオンであるか否かを判定する。低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS502の処理を繰り返し実行し、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS503に進む。 First, in step S501, initial setting 1 is performed. In the initial setting 1, the stack initial value is set in the stack pointer (SP) of the CPU of the payout control unit 600. In step S502, it is determined whether or not a low voltage signal is output from the voltage monitoring circuit of the dispensing control unit 600, that is, whether or not the low voltage signal is on. If the low-voltage signal is on (when power-off is detected), the process of step S502 is repeatedly executed. If the low-voltage signal is off (when power-off is not detected), the process proceeds to step S503. move on.
ステップS503では、初期設定2を行う。この初期設定2では、後述する払出制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマに設定する処理、払出制御部600のRAMへの書き込みを許可する設定、I/Oポートの初期設定等を行う。 In step S503, initial setting 2 is performed. In this initial setting 2, a process for setting a numerical value for determining a cycle for executing a payout control unit timer interrupt process, which will be described later, in the counter / timer, a setting for permitting the payout control unit 600 to write to the RAM, I Performs initial setting of / O port.
ステップS504では、電源の遮断前(電断前)の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合(パチンコ機100を初期状態にする場合)にはステップS506に進み、電断前の状態に復帰する場合にはステップS505に進む。具体的には、このステップS504でも、主制御部300メイン処理のステップS111と同様な処理が行われ、RAMクリアが必要な場合には、パチンコ機100を初期状態にすべくステップS506に進む。一方、RAMクリアが必要でない場合には、払出制御部600のRAMから電源ステータスの情報を読み出し、電源ステータスの情報が、サスペンドを示す情報でない場合にはパチンコ機100を初期状態にすべくステップS506に進み、サスペンドを示す情報である場合には払出制御部600のRAMについてチェックサムを実行し、チェックサムの結果が正常である場合には電断前の状態に復帰すべくステップS505に進み、チェックサムの結果が異常である場合には、パチンコ機100を初期状態にすべくステップS506に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS506に進む。 In step S504, it is determined whether or not the state before the power interruption (before power interruption) is restored. If the state before the power interruption is not restored (when the pachinko machine 100 is set to the initial state), step S506 is performed. If the process returns to the state before the power interruption, the process proceeds to step S505. Specifically, also in this step S504, processing similar to that in step S111 of the main process of the main control unit 300 is performed, and if RAM clear is necessary, the process proceeds to step S506 in order to set the pachinko machine 100 to the initial state. On the other hand, when the RAM clear is not necessary, the power status information is read from the RAM of the payout control unit 600, and when the power status information is not the information indicating the suspend, the pachinko machine 100 is set to the initial state in step S506. If it is information indicating suspend, the checksum is executed on the RAM of the payout control unit 600. If the checksum result is normal, the process proceeds to step S505 to return to the state before power interruption. If the result of the checksum is abnormal, the process proceeds to step S506 to set the pachinko machine 100 to the initial state. Similarly, if the power status information indicates information other than “suspend”, the process proceeds to step S506.
ステップS505では、復電時処理を行う。この復電時処理では、払出制御部600のRAMの記憶領域のうち、復電時にクリアすべき記憶領域(コマンドを格納するためのコマンドバッファ、エラー状態を記憶するためのエラーステータスなどを除く記憶領域)の初期化などを行う。 In step S505, power recovery processing is performed. In this power recovery process, of the storage area of the payout controller 600 RAM, a storage area to be cleared upon power recovery (a command buffer for storing commands, a memory other than an error status for storing error status, etc.) Area) is initialized.
ステップS506では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、払出制御部600のRAMの所定の領域(例えば、全ての記憶領域)の初期化などを行う。 In step S506, initialization processing is performed. In this initialization processing, interrupt prohibition setting, stack initial value setting to the stack pointer, predetermined areas (for example, all storage areas) of the RAM of the payout control unit 600, and the like are performed.
ステップS507では、初期設定3を行う。この初期設定3では、払出制御部600のRAMに設けたエラーステータス記憶領域に記憶したエラーステータスのうち、不正払出エラーと払出超過エラー以外の情報をクリアしたり、割り込み許可の設定などを行う。 In step S507, initial setting 3 is performed. In the initial setting 3, information other than the illegal payout error and the payout excess error among the error statuses stored in the error status storage area provided in the RAM of the payout control unit 600 is cleared, interrupt permission is set, and the like.
ステップS508では、主制御部300から入力したデータの中に未解析データがあるか無いかを判定し、未解析データがある場合にはステップS509でコマンド解析処理を行い、未解析データがない場合にはステップS510に進む。 In step S508, it is determined whether there is unanalyzed data in the data input from the main control unit 300. If there is unanalyzed data, command analysis processing is performed in step S509, and there is no unanalyzed data. Then, the process proceeds to step S510.
ステップS510では、ステップS502と同じく、低電圧信号がオフであるか否かを監視し、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS508に戻り、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS511に進む。 In step S510, similarly to step S502, it is monitored whether or not the low voltage signal is off. If the low voltage signal is off (when the power supply shutoff is not detected), the process returns to step S508. If the signal is on (when power-off is detected), the process proceeds to step S511.
ステップS511では、電断時処理を行う。この電断時処理では、払出制御部600のRAMに設けたスタックポインタ退避領域に現在のスタックポインタの値を記憶し、上述の電源ステータス記憶領域にサスペンドを示す情報を設定する。また、払出制御部600のRAMの所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算し、チェックサム算出用数値記憶領域に記憶している値からその加算した結果を減算した値をチェックサム(電断時チェックサム)として算出し、算出した電断時チェックサムを上述のチェックサム算出用数値記憶領域に記憶し、払出制御部600のRAMへの書き込みを禁止する設定などを行う。
<払出制御部タイマ割り込み処理>
In step S511, a power interruption process is performed. In this power interruption process, the current stack pointer value is stored in the stack pointer save area provided in the RAM of the payout control unit 600, and information indicating suspend is set in the power status storage area. Also, all the 1-byte data stored in a predetermined area (for example, all areas) of the RAM of the payout control unit 600 is added to a 1-byte register whose initial value is 0, and a numerical storage area for checksum calculation The value obtained by subtracting the result of addition from the value stored in is calculated as a checksum (checksum at power interruption), and the calculated checksum at power interruption is stored in the above-described numerical storage area for checksum calculation, A setting for prohibiting writing to the RAM of the payout control unit 600 is performed.
<Discharge control unit timer interrupt processing>
次に、図101を用いて、払出制御部600のCPUが実行する払出制御部タイマ割り込み処理について説明する。なお、同図は払出制御部タイマ割り込み処理の流れを示すフローチャートである。 Next, a payout control unit timer interrupt process executed by the CPU of the payout control unit 600 will be described with reference to FIG. This figure is a flowchart showing the flow of the payout control unit timer interrupt process.
払出制御部600は、所定の周期(本実施形態では1msに1回)でタイマ割り込みを発生するカウンタ回路も備えており、このタイマ割り込みを契機として払出制御部タイマ割り込み処理を所定の周期で開始する。 The payout control unit 600 also includes a counter circuit that generates a timer interrupt at a predetermined cycle (in this embodiment, once every 1 ms), and starts the payout control unit timer interrupt processing at a predetermined cycle triggered by this timer interrupt. To do.
ステップS601では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、払出制御部600のCPUの各レジスタの値をスタック領域に一時的に退避する処理などを行う。払出制御部600には、ウォッチドッグタイマ(WDT)も用意されている。ステップS602ではこのWDTのリスタートを行う。 In step S601, timer interrupt start processing is performed. In the timer interrupt start process, a process of temporarily saving the value of each register of the CPU of the payout control unit 600 to the stack area is performed. The payout control unit 600 is also provided with a watch dog timer (WDT). In step S602, the WDT is restarted.
ステップS603では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、払出制御部600のI/Oポートの値を取得して、図4に示す払出センサ604等の状態などを検出する。ステップS604では、タイマ更新処理を行う。このタイマ更新処理では、払出報知用LEDの点灯/消灯時間、図4に示す払出モータ602の駆動/非駆動時間などを計時するためのタイマなどを含む各種タイマを更新する。 In step S603, input port state update processing is performed. In this input port state update process, the value of the I / O port of the payout control unit 600 is acquired to detect the state of the payout sensor 604 and the like shown in FIG. In step S604, timer update processing is performed. In this timer update process, various timers are updated, including timers for timing the turn-on / off time of the payout notification LED, the drive / non-drive time of the payout motor 602 shown in FIG.
ステップS605では、エラー監視処理を行う。払出制御部600のI/Oポートには、主制御部300から、下皿満タンエラー信号やガラス枠開放エラー信号等の各種のエラー信号が送られてくる。払出制御部600のRAMには、エラーステータス記憶領域や、遊技媒体貸出情報記憶領域や、払出完了数チェック記憶領域や、モータ駆動量記憶領域が設けられている。エラーステータス記憶領域には、各エラー信号に対応した情報が記憶される。このエラー監視処理では、各種のエラー信号がオンか否かを判定し、オンの場合には、エラーステータス記憶領域に対応したエラーを示す情報を記憶し、オフの場合には、エラーステータス記憶領域に対応したエラーの解除を示す情報を記憶する。また、主制御部300と払出制御部600との間の通信が可能かどうかを、主制御部からのコマンドが所定時間(例えば1000ms)継続して受信できないか否かで判定し、エラーステータス記憶領域に、通信可能な場合には通信可能であることを示す情報を、反対に通信不可能な場合には通信不可能であること(主制御通信エラー)を示す情報を記憶する。加えて、図4に示すカードユニット(CRユニット)608と払出制御部600との間の通信が可能かどうかについても、カードユニット608からの信号が所定時間(例えば1000ms)継続して受信できないか否かで判定し、エラーステータス記憶領域に、通信可能な場合には通信可能であることを示す情報を、反対に通信不可能な場合には通信不可能であること(CRユニット未接続エラー)を示す情報を記憶する。また、払出制御部600のI/Oポートには、エラー解除信号も送られてくる。このエラー監視処理では、エラー解除信号がオンであるか否かも判定し、エラー解除信号がオンである場合には、エラーステータス記憶領域に記憶している情報を初期化して、エラーを解除する。 In step S605, an error monitoring process is performed. Various error signals such as a lower pan full error signal and a glass frame opening error signal are sent from the main control unit 300 to the I / O port of the payout control unit 600. The RAM of the payout control unit 600 is provided with an error status storage area, a game medium lending information storage area, a payout completion number check storage area, and a motor drive amount storage area. Information corresponding to each error signal is stored in the error status storage area. In this error monitoring process, it is determined whether or not various error signals are ON. If ON, information indicating an error corresponding to the error status storage area is stored. If OFF, the error status storage area is stored. The information indicating the cancellation of the error corresponding to is stored. Further, whether or not communication between the main control unit 300 and the payout control unit 600 is possible is determined based on whether or not a command from the main control unit can be received continuously for a predetermined time (for example, 1000 ms), and an error status is stored. If the communication is possible, information indicating that communication is possible is stored in the area, and if the communication is impossible, information indicating that communication is not possible (main control communication error) is stored. In addition, as to whether or not communication between the card unit (CR unit) 608 and the payout control unit 600 shown in FIG. 4 is possible, is it impossible to continuously receive a signal from the card unit 608 for a predetermined time (for example, 1000 ms)? If the communication is possible in the error status storage area, information indicating that communication is possible is conversely impossible if communication is impossible (CR unit unconnected error) Is stored. In addition, an error release signal is also sent to the I / O port of the payout control unit 600. In this error monitoring process, it is also determined whether or not the error cancellation signal is on. If the error cancellation signal is on, the information stored in the error status storage area is initialized to cancel the error.
ステップS606では、CRユニット通信処理を行う。このCRユニット通信処理では、図4に示すインターフェース部606から遊技媒体貸出信号を受信して遊技媒体貸出信号センサ信号がオンであるか否かを判定し、遊技媒体貸出信号がオンの場合(インターフェース部606からの球貸要求を入力した場合)には、RAMに設けた遊技媒体貸出情報記憶領域に遊技媒体の貸出要求があったことを示す情報を記憶する。 In step S606, CR unit communication processing is performed. In this CR unit communication process, a game medium lending signal is received from the interface unit 606 shown in FIG. 4 to determine whether or not the game medium lending signal sensor signal is on. When the game medium lending signal is on (interface) When a ball lending request is input from the unit 606), information indicating that there is a game medium lending request is stored in the game medium lending information storage area provided in the RAM.
ステップS607では、払出動作管理処理を行う。上述のエラーステータス記憶領域には、不正払出エラーの情報や払出超過エラーの情報も記憶されている。この払出動作管理処理では、エラーステータス記憶領域から不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合には、図4に示す払出センサ604からの信号(以下、払出センサ信号と称する場合がある)に基づいて払出個数の監視を行う。すなわち、所定のエラーが発生している場合には払出モータ602の駆動停止、すなわち払出装置からの賞媒体(例えば遊技球)の払出を停止するようにしている。具体的には、払出センサ604の信号を検出して払出センサ信号がオンであるか否かを判定し、払出センサ信号がオンの場合(払出センサを球が通過した場合)には払出完了数チェックに1を加算して払出完了数チェック記憶領域に記憶する。また、賞球および貸出球の要求が無いときに払出センサ信号がオンになった場合には、上述のエラーステータス記憶領域に不正払出エラーを示す情報を記憶し、賞球数または貸出球数が各々の要求数を超え、その超過数が所定数以上になった場合には、上述のエラーステータス記憶領域に払出超過エラーを示す情報を記憶する。 In step S607, a payout operation management process is performed. In the error status storage area described above, information on illegal payout errors and information on payout excess errors are also stored. In this payout operation management process, the information on the illegal payout error and the payout excess error information are read from the error status storage area, and if neither error has occurred, the signal from the payout sensor 604 shown in FIG. Hereinafter, the number of payouts is monitored based on the payout sensor signal. That is, when a predetermined error has occurred, the driving of the payout motor 602 is stopped, that is, the payout of a prize medium (for example, a game ball) from the payout device is stopped. Specifically, the signal of the payout sensor 604 is detected to determine whether or not the payout sensor signal is on. When the payout sensor signal is on (when the ball passes through the payout sensor), the number of payouts completed. 1 is added to the check and stored in the payout completion number check storage area. Further, when the payout sensor signal is turned on when there is no request for a winning ball or a lending ball, information indicating an illegal payout error is stored in the error status storage area, and the number of winning balls or the number of lending balls is When each request number is exceeded and the number exceeds the predetermined number, information indicating a payout excess error is stored in the error status storage area.
また、上述のエラーステータス記憶領域から、下皿満タンエラーを表す情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、払出開始監視処理、初期位置検索動作処理、通常払出動作処理、リトライ動作処理、逆回転動作処理のいずれかの処理を行う。 Also, the information indicating the lower tray full tank error, the information on the illegal payout error, and the information on the payout excess error are read from the error status storage area described above, and when any error has not occurred, the payout start monitoring process, the initial Any one of position search operation processing, normal payout operation processing, retry operation processing, and reverse rotation operation processing is performed.
上述のごとく、払出装置152は、払出モータ602によって回転可能に構成されたスプロケットを備えている。このスプロケットは、タンクレール154を通過して払出装置152内に流下した遊技球を一時的に滞留させると共に、払出モータ602を駆動して所定角度だけ回転することにより、一時的に滞留した遊技球を払出装置152の下方へ1個ずつ送り出す。払出開始監視処理では、貸出要求数、および賞球要求数が0であり、次賞球要求数が0以外の場合は、賞球要求数に次賞球要求数をセットし、次賞球要求数をクリアする。また、払出モータ602の位置が不確定の場合(動作モードが初期位置検索動作モードの場合)には、払出完了数チェックから1を減算して払出完了数チェック記憶領域に記憶し、払出モータ602の位置が確定している場合(動作モードが通常払出動作モードの場合)には、払出完了数チェックとして払出完了数チェック記憶領域に0を設定する。また、賞球要求数を、払出モータ602を駆動する量(モータ駆動量)に変換し、これをRAMに設けたモータ駆動量記憶領域に記憶すると共に、RAMに設けたモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをI/Oポートを介して、払出モータ602を制御するモータ制御回路に出力する。これにより、モータ制御回路は払出モータ602のモータの励磁位置を所定回変化させてスプロケットを正方向に回転駆動する。 As described above, the payout device 152 includes a sprocket that is configured to be rotatable by the payout motor 602. This sprocket temporarily retains the game ball that has passed through the tank rail 154 and flowed down into the payout device 152, and also drives the payout motor 602 to rotate by a predetermined angle, thereby temporarily retaining the game ball. Are delivered one by one downward to the dispensing device 152. In the payout start monitoring process, when the number of lending requests and the number of requested prize balls are 0, and the number of requested next prize balls is other than 0, the number of requested next prize balls is set as the number of requested prize balls, and the next prize ball request Clear the number. When the position of the payout motor 602 is indefinite (when the operation mode is the initial position search operation mode), 1 is subtracted from the payout completion number check and stored in the payout completion number check storage area. When the position is fixed (when the operation mode is the normal payout operation mode), 0 is set in the payout completion number check storage area as a payout completion number check. Also, the requested number of winning balls is converted into an amount for driving the payout motor 602 (motor drive amount), and this is stored in the motor drive amount storage area provided in the RAM, and the motor control data table provided in the RAM is referred to. Then, motor drive control data corresponding to the motor drive amount is selected, and motor drive control data indicating normal rotation is output to the motor control circuit that controls the payout motor 602 via the I / O port. As a result, the motor control circuit changes the excitation position of the motor of the payout motor 602 a predetermined number of times to rotate the sprocket in the forward direction.
初期位置検索動作処理および通常払出動作処理では、払出モータ602の駆動終了後に、払出完了数チェック記憶領域から払出完了チェックを読み出し、払出完了チェックが0 In the initial position search operation process and the normal payout operation process, after the driving of the payout motor 602 is completed, the payout completion check is read from the payout completion number check storage area, and the payout completion check is 0.
の場合には、払出開始監視処理を実行する準備を行い、払出完了チェックが0以外の場合には、エラーステータス記憶領域に払出装置エラーを示す情報を設定すると共に、リトライ動作処理を実行する準備を行う。 If the payout completion check is other than 0, information indicating the payout device error is set in the error status storage area and the retry operation process is prepared. I do.
リトライ動作処理では、所定の時間が経過するのを待ち(リトライ動作開始待ちタイマが0になるのを待ち)、リトライ動作開始待ちタイマが0になった場合には、逆回転動作処理を実行する準備を行う。逆回転操作処理では、上述のモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、逆転を示すモータ駆動制御データをI/Oポートを介してモータ制御回路に出力する。これにより、モータ制御回路は払出モータ602の励磁位置を所定回変化させてスプロケットを逆回転駆動する。また、逆回転操作処理では、払出モータ602の駆動終了後に払出開始監視処理を実行する準備を行う。 In the retry operation process, wait for a predetermined time to elapse (wait for the retry operation start wait timer to become 0), and when the retry operation start wait timer becomes 0, execute the reverse rotation operation process. Make preparations. In the reverse rotation operation process, motor drive control data corresponding to the motor drive amount is selected with reference to the motor control data table described above, and motor drive control data indicating reverse rotation is output to the motor control circuit via the I / O port. To do. As a result, the motor control circuit changes the excitation position of the payout motor 602 a predetermined number of times to drive the sprocket in a reverse rotation. Further, in the reverse rotation operation process, preparation for executing the payout start monitoring process is performed after the driving of the payout motor 602 is completed.
ステップS608では、払出モータ駆動監視処理を行う。この払出モータ駆動監視処理では、駆動開始監視処理、加速駆動処理、定速駆動処理、ブレーキ駆動処理、駆動終了処理のいずれかの処理を行う。 In step S608, a payout motor drive monitoring process is performed. In the payout motor drive monitoring process, any one of a drive start monitoring process, an acceleration drive process, a constant speed drive process, a brake drive process, and a drive end process is performed.
駆動開始監視処理では、上述のエラーステータス記憶領域から下皿満タンエラーの情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合には、上述のモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをI/Oポートを介してモータ制御回路に出力する。これにより、モータ制御回路は払出モータ602の励磁位置を所定回変化させスプロケットを正方向に回転駆動する。 In the drive start monitoring process, the information on the lower pan full tank error, the information on the illegal payout error, and the information on the payout excess error are read from the error status storage area described above. Motor control data corresponding to the motor drive amount is selected with reference to the control data table, and motor drive control data indicating normal rotation is output to the motor control circuit via the I / O port. As a result, the motor control circuit changes the excitation position of the dispensing motor 602 a predetermined number of times to rotate the sprocket in the forward direction.
加速駆動処理および定速駆動処理では、スプロケットの初期位置検索動作中、または、逆回転動作中の場合を除き、払出モータ602の励磁位置を16回変化させるごとに払出完了数チェックから1を減算して払出完了数チェック記憶領域に記憶する。また、更新後の払出完了数チェックが−4未満になった場合には、ブレーキ駆動処理を実行する準備を行う。さらに、上述の遊技媒体貸出情報記憶領域から遊技媒体貸出情報を読み出して、遊技媒体の貸出要求があったことを示す情報の有無を判定し、遊技媒体の貸出要求があったことを示す情報がある場合(賞球の払出中にインターフェース部606からの球貸要求を入力した場合)にも、ブレーキ駆動処理を実行する準備を行う。ブレーキ駆動処理では、所定の時間が経過するのを待ち(モータ駆動管理タイマが0になるのを待ち)、モータ駆動管理タイマが0になった場合には、駆動終了処理を実行する準備を行い、駆動終了処理では、モータ駆動の後処理を行う。 In the acceleration drive process and constant speed drive process, 1 is subtracted from the payout completion number check every time the excitation position of the payout motor 602 is changed 16 times, except during the initial position search operation of the sprocket or the reverse rotation operation. And stored in the payout completion number check storage area. When the updated payout completion number check is less than −4, preparation for executing the brake drive process is made. Further, the game medium lending information is read from the above-mentioned game medium lending information storage area, the presence / absence of information indicating that there is a request for lending a game medium is determined, and information indicating that there is a request for lending a game medium is present. In some cases (when a ball lending request is input from the interface unit 606 while paying out a prize ball), preparations for executing the brake driving process are made. In the brake drive process, it waits for a predetermined time to elapse (waits for the motor drive management timer to become 0), and when the motor drive management timer becomes 0, prepares to execute the drive end process In the drive end process, a post-process for driving the motor is performed.
ステップS609では、外部出力信号設定処理を行う。この外部出力信号設定処理では、払出制御部600のRAMに記憶している遊技情報(例えば払出センサ信号を入力するたびに出力する賞球信号)を、情報出力回路(図示せず)を介してパチンコ機100とは別体の情報入力回路350に出力する。 In step S609, an external output signal setting process is performed. In this external output signal setting process, game information stored in the RAM of the payout control unit 600 (for example, a prize ball signal output every time a payout sensor signal is input) is sent via an information output circuit (not shown). The information is output to an information input circuit 350 that is separate from the pachinko machine 100.
ステップS610では、ポート出力処理を行う。このポート出力処理では、払出制御部600のI/Oポートから、図4に示す発射制御部630に発射を許可する発射許可信号を出力する。ただし、上述の主制御通信エラーやCRユニット未接続エラーが生じている場合には、発射許可信号を出力しない状態に設定する。したがって、主制御部300が電断し、払出制御部600には電力が供給されている状態では、上述のステップS605において主制御通信エラーが認められ、このポート出力処理で、発射許可信号を出力しない状態に設定される。 In step S610, port output processing is performed. In this port output process, a launch permission signal for permitting launch is output from the I / O port of the payout controller 600 to the launch controller 630 shown in FIG. However, when the above-mentioned main control communication error or CR unit non-connection error has occurred, a state is set in which the firing permission signal is not output. Therefore, when the main control unit 300 is cut off and power is supplied to the payout control unit 600, a main control communication error is recognized in the above-described step S605, and a launch permission signal is output in this port output processing. It is set to the state that does not.
ステップS611では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS601で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行い、払出制御部タイマ割り込み処理は終了になる。
<第2内部情報レジスタ>
In step S611, timer interrupt end processing is performed. In this timer interrupt end process, the value of each register temporarily saved in step S601 is set in each original register, interrupt permission is set, etc., and the payout control unit timer interrupt process ends.
<Second internal information register>
続いて、図84に第1内部情報レジスタを示した割込み制御回路3100の第2内部情報レジスタについて説明する。図102は、割込み制御回路3100の内部レジスタ3101に用意された第2内部情報レジスタを説明するための図である。 Next, the second internal information register of the interrupt control circuit 3100 whose first internal information register is shown in FIG. 84 will be described. FIG. 102 is a diagram for explaining the second internal information register prepared in the internal register 3101 of the interrupt control circuit 3100.
図102に示すように、第2内部情報レジスタは8ビットのレジスタであるが、7〜3ビット目は「0」が設定されたままであり、使用されていない。また、2〜0ビット目は、初期値は「0」である。 As shown in FIG. 102, the second internal information register is an 8-bit register, but the seventh to third bits remain set to “0” and are not used. The initial values of the 2nd to 0th bits are “0”.
本実施形態では、電源投入によって、電圧監視回路338からシステムリセット信号がリセット制御回路314に入力される。すると、リセット制御回路314からは、マイクロプロセッサ3000の内部の回路に対し内部バス3300を介して、システムリセット信号1が出力される。また、本実施形態では、WDT3141がタイムアウトになった場合には、リセット制御回路314からは、マイクロプロセッサ3000の内部の回路に対し内部バス3300を介して、WDTのタイムアウト信号が出力されたことを表すシステムリセット信号2が出力される。さらに、CPU304が所定の範囲以外のアドレスを参照(指定エリア外走行)した場合には、リセット制御回路314からは、マイクロプロセッサ3000の内部の回路に対し内部バス3300を介して、指定エリア外走行禁止信号が出力されたことを表すシステムリセット信号3が出力される。 In this embodiment, a system reset signal is input from the voltage monitoring circuit 338 to the reset control circuit 314 when the power is turned on. Then, the system reset signal 1 is output from the reset control circuit 314 to the internal circuit of the microprocessor 3000 via the internal bus 3300. In this embodiment, when the WDT 3141 times out, the reset control circuit 314 indicates that a WDT timeout signal has been output to the internal circuit of the microprocessor 3000 via the internal bus 3300. A system reset signal 2 is output. Further, when the CPU 304 refers to an address outside the predetermined range (running outside the designated area), the reset control circuit 314 runs outside the designated area via the internal bus 3300 to the circuit inside the microprocessor 3000. A system reset signal 3 indicating that the prohibit signal has been output is output.
割込み制御回路3100は、内部バス3300を介してシステムリセット信号1を取得すると、2ビット目に「1」を設定する。すなわち、第1内部情報レジスタの2ビット目は、直前に発生したリセット要因が電源投入によるリセットであることを示すビットに相当する。 When the interrupt control circuit 3100 acquires the system reset signal 1 via the internal bus 3300, it sets “1” to the second bit. That is, the second bit of the first internal information register corresponds to a bit indicating that the reset factor generated immediately before is a reset due to power-on.
また、割込み制御回路3100は、内部バス3300を介してシステムリセット信号2を取得すると、1ビット目に「1」を設定する。すなわち、第1内部情報レジスタの1ビット目は、直前に発生したリセット要因がWDT3141のタイムアウトであることを示すビットに相当する。 Further, when the interrupt control circuit 3100 acquires the system reset signal 2 via the internal bus 3300, it sets “1” to the first bit. That is, the first bit of the first internal information register corresponds to a bit indicating that the reset factor generated immediately before is a timeout of WDT 3141.
さらに、割込み制御回路3100は、内部バス3300を介してシステムリセット信号3を取得すると、0ビット目に「1」を設定する。すなわち、第1内部情報レジスタの0ビット目は、直前に発生したリセット要因がCPU304の指定エリア外走行であることを示すビットに相当する。各ビットの値は、CPU304がその値を読み取るとクリアされる(初期値の「0」になる)ようになっている。なお、この第2内部情報レジスタを、図84に示す第1内部情報レジスタで構成してもよい。
<第3内部情報レジスタ>
Furthermore, when the interrupt control circuit 3100 acquires the system reset signal 3 via the internal bus 3300, it sets “1” to the 0th bit. That is, the 0th bit of the first internal information register corresponds to a bit indicating that the reset factor generated immediately before is traveling outside the designated area of the CPU 304. The value of each bit is cleared when the CPU 304 reads the value (becomes the initial value “0”). Note that the second internal information register may be configured by the first internal information register shown in FIG.
<Third internal information register>
図103は、割込み制御回路3100の内部レジスタ3101に用意された第3内部情報レジスタを説明するための図である。図103に示すように、第3内部情報レジスタも8ビットのレジスタであるが、7〜2ビット目は「0」が設定されたままであり、使用されていない。 FIG. 103 is a diagram for explaining a third internal information register prepared in the internal register 3101 of the interrupt control circuit 3100. As shown in FIG. 103, the third internal information register is also an 8-bit register, but the seventh and second bits remain set to “0” and are not used.
図103に示す第3内部情報レジスタの1ビット目は、WDT3141がタイムアウトした場合に、ユーザリセット動作を行わせるか、あるいはシステムリセット動作を行わせるかを設定するためのビットである。ユーザリセット動作を行わせる場合には「0」を設定し、システムリセット動作を行わせる場合には「1」を設定する。 The first bit of the third internal information register shown in FIG. 103 is a bit for setting whether to perform a user reset operation or a system reset operation when WDT 3141 times out. “0” is set when the user reset operation is performed, and “1” is set when the system reset operation is performed.
また、0ビット目は、CPU304の指定エリア外走行が生じた場合に、ユーザリセット動作を行わせるか、あるいはシステムリセット動作を行わせるかを設定するためのビットである。このビットでも、ユーザリセット動作を行わせる場合には「0」を設定し、システムリセット動作を行わせる場合には「1」を設定する。 The 0th bit is a bit for setting whether the user reset operation or the system reset operation is performed when the CPU 304 travels outside the designated area. In this bit, “0” is set when the user reset operation is performed, and “1” is set when the system reset operation is performed.
ここで説明した1ビット目と0ビット目それぞれに設定される値は、内蔵ROM306のプログラム管理エリアに記憶されている。プログラム管理エリアに記憶されているこれらの値は、図88に示す主制御部メイン処理における初期設定2(ステップS107)において、プログラム管理エリアから呼び出され、1ビット目と0ビット目それぞれに設定される。本実施形態では、いずれのビットにもシステムリセット動作を行わせる「1」が設定される。なお、1ビット目にユーザリセット動作を行わせる「0」を設定し、0ビット目にシステムリセット動作を行わせる「1」を設定してもよい。また、1ビット目にシステムリセット動作を行わせる「1」を設定し、0ビット目にユーザリセット動作を行わせる「0」を設定してもよい。 The values set for the first bit and the 0th bit described here are stored in the program management area of the built-in ROM 306. These values stored in the program management area are called from the program management area in the initial setting 2 (step S107) in the main process of the main control unit shown in FIG. 88, and are set in the first bit and the 0th bit, respectively. The In this embodiment, “1” is set to cause the system reset operation to be performed on any bit. Note that “0” for performing the user reset operation may be set in the first bit, and “1” for performing the system reset operation may be set in the 0th bit. Further, “1” for performing the system reset operation may be set in the first bit, and “0” for performing the user reset operation may be set in the 0th bit.
なお、この第3内部情報レジスタも、図84に示す第1内部情報レジスタの空きビット(未使用ビット)で構成してもよく、あるいは、上述の図102に示す第2内部情報レジスタの空きビット(未使用ビット)で構成してもよい。また、リセット発生時には、ROM306のプログラム管理エリアに記憶されたリセット動作設定データの値を直接参照するようにしてもよい。この場合、第3内部情報レジスタに値を設定する処理は行わなくてもよい。
<第4内部情報レジスタ>
This third internal information register may also be composed of the empty bits (unused bits) of the first internal information register shown in FIG. 84, or the empty bits of the second internal information register shown in FIG. (Unused bits) may be used. When a reset occurs, the value of the reset operation setting data stored in the program management area of the ROM 306 may be directly referred to. In this case, the process of setting a value in the third internal information register may not be performed.
<Fourth internal information register>
図104は、割込み制御回路3100の内部レジスタ3101に用意された第4内部情報レジスタを説明するための図である。図104に示すように、第4内部情報レジスタは8ビットのレジスタであるが、7〜2ビット目は「0」が設定されたままであり、使用されていない。 FIG. 104 is a diagram for explaining a fourth internal information register prepared in the internal register 3101 of the interrupt control circuit 3100. As shown in FIG. 104, the fourth internal information register is an 8-bit register, but the seventh and second bits remain set to “0” and are not used.
この第4内部情報レジスタの1ビット目は、乱数生成回路318の外部クロック(更新クロック)RCKの異常を示すビットである。更新クロックに異常がある場合には、第4内部情報レジスタの1ビット目から「1(異常あり)」の情報が読みだされ、更新クロックに異常がない場合には、第4内部情報レジスタの1ビット目から「0(異常なし)」の情報が読みだされる。 The first bit of the fourth internal information register is a bit indicating an abnormality in the external clock (update clock) RCK of the random number generation circuit 318. If there is an abnormality in the update clock, the information “1 (abnormal)” is read from the first bit of the fourth internal information register. If there is no abnormality in the update clock, the fourth internal information register Information of “0 (no abnormality)” is read from the first bit.
また、0ビット目は、リセットが発生した場合に、直前のリセット要因がシステムリセット(電源投入によるリセット)であるか否かを示すためのビットである。割込み制御回路3100は、内部バス3300を介してシステムリセット信号1を取得すると、この0ビット目に「1」を設定する。直前のリセット要因がシステムリセットである場合には、第4内部情報レジスタの0ビット目から「1(システムリセット発生)」の情報が読みだされ、直前のリセット要因がシステムリセットでない場合(リセット要因がWDT3141のタイムアウトである場合、または、リセット要因がCPU304の指定エリア外走行である場合)には、第4内部情報レジスタの0ビット目から「0(システムリセット未発生)」の情報が読みだされる。
<その他の内部情報レジスタ>
The 0th bit is a bit for indicating whether or not the immediately preceding reset factor is a system reset (reset upon power-on) when a reset occurs. When the interrupt control circuit 3100 acquires the system reset signal 1 via the internal bus 3300, the interrupt control circuit 3100 sets “1” to the 0th bit. If the immediately preceding reset factor is a system reset, information “1 (system reset has occurred)” is read from the 0th bit of the fourth internal information register, and the immediately preceding reset factor is not a system reset (reset factor Is the time-out of WDT 3141 or when the reset factor is running out of the designated area of CPU 304), the information of “0 (system reset not generated)” is read from the 0th bit of the fourth internal information register Is done.
<Other internal information registers>
また、図示は省略するが、マイクロプロセッサ3000は、WDT3141を制御するレジスタとして、スタートレジスタとクリアレジスタを備えている。スタートレジスタは、WDT3141の起動/停止を制御するための8ビット長のレジスタであり、WDT3141を起動するときには起動を指示する値(例えば、CCh)を設定し(書き込み)、WDT3141を停止するときには停止を指示する値(例えば、33h)を設定するように構成されている。 Although not shown, the microprocessor 3000 includes a start register and a clear register as registers for controlling the WDT 3141. The start register is an 8-bit register for controlling start / stop of the WDT 3141. When starting the WDT 3141, a value (for example, CCh) instructing start is set (written), and when the WDT 3141 is stopped, the start register is stopped. Is set so as to set a value (for example, 33h).
また、このスタートレジスタは、リセット時にプログラム管理エリアに「ソフトウェアによる起動」を設定(選択)したときに有効となるレジスタであり、その場合、停止を指示する値(例えば、33h)が初期値として設定される。したがって、「ソフトウェアによる起動」を設定(選択)したときにWDT3141を起動するためには、遊技制御プログラムによって(手動で)起動を指示する値(例えば、CCh)を設定する必要がある。一方、リセット時に「ソフトウェアによる起動」を設定(選択)しなかったときは、スタートレジスタには、起動を指示する値(例えば、CCh)が遊技制御プログラムによらずに(自動的に)初期値として設定され、遊技制御プログラムによらずに(自動的に)WDT3141が起動される。 This start register is valid when “start by software” is set (selected) in the program management area at the time of reset. In this case, a stop instruction value (for example, 33h) is set as an initial value. Is set. Therefore, in order to activate WDT 3141 when “activation by software” is set (selected), it is necessary to set a value (for example, CCh) instructing activation by the game control program (manually). On the other hand, when “activation by software” is not set (selected) at the time of resetting, a value instructing activation (for example, CCh) is an initial value (automatically) regardless of the game control program. The WDT 3141 is activated (automatically) without depending on the game control program.
クリアレジスタは、WDT3141のクリアとリスタートを制御するための8ビット長のレジスタであり、所定の第一の値(例えば、55h)を設定した後に、所定の第二の値(例えば、AAh)を設定したときにWDT3141がクリアされ、直後にリスタートされる。なお、クリアレジスタの値を読み込んだときは、所定の固定値(例えば、FFh)が読みだされる。 The clear register is an 8-bit register for controlling clearing and restarting of the WDT 3141. After setting a predetermined first value (for example, 55h), a predetermined second value (for example, AAh) Is set, WDT 3141 is cleared and restarted immediately after. When the value of the clear register is read, a predetermined fixed value (for example, FFh) is read.
ここでもう一度、システムリセットの流れについて、乱数更新との関係を含めて説明する。図105は、システムリセットの流れを乱数更新との関係を含めて示す図である。これまで、静電気などの要因により瞬断が生じた場合に、WDT3141のタイムアウトによってリセット制御回路314からシステムリセット信号(ここではシステムリセット信号2)が出力され、リセット動作が行われることを説明した。また、WDT3141のタイムアウトに限らず、例えば、CPU304の指定エリア外走行が生じた場合などにも、リセット制御回路314からシステムリセット信号(ここではシステムリセット信号3)が出力され、リセット動作が行われる。このリセット動作では、遊技台はセキュリティモードに移行し、セキュリティチエック処理(図76に示すステップSH05)が実行される。 Here, the flow of system reset will be described again, including the relationship with random number update. FIG. 105 is a diagram showing the flow of system reset including the relationship with random number update. Up to now, it has been described that when a momentary interruption occurs due to factors such as static electricity, the reset control circuit 314 outputs a system reset signal (here, the system reset signal 2) due to the timeout of the WDT 3141, and the reset operation is performed. Further, not only the timeout of WDT 3141 but also, for example, when the CPU 304 runs out of the designated area, the system reset signal (here, system reset signal 3) is output from the reset control circuit 314, and the reset operation is performed. . In this reset operation, the gaming machine shifts to the security mode, and a security check process (step SH05 shown in FIG. 76) is executed.
WDT3141のタイムアウトやCPU304の指定エリア外走行は、遊技処理の正常な進行を妨げる異常の一例に相当する。また、システムリセット信号2およびシステムリセット信号3は復帰指示の一例に相当する。さらに、図76に示すリセット制御回路314は、上記異常を検出する異常検出部の一例に相当する。 The time-out of WDT 3141 and the running out of the designated area of CPU 304 correspond to an example of an abnormality that hinders normal progress of the game process. The system reset signal 2 and the system reset signal 3 correspond to an example of a return instruction. Further, the reset control circuit 314 illustrated in FIG. 76 corresponds to an example of an abnormality detection unit that detects the abnormality.
なお、図105では、図示省略したが、セキュリティモードではまず、図76に示すステップSH03の第1内部回路初期化処理が実行され、CPU304のコアやタイマ回路311、カウンタ回路312、パラレル入力ポート3102、RAM308アクセスプロテクトレジスタ、割込み制御回路3100、乱数生成回路318を制御するレジスタといった内蔵レジスタの値が初期化される。なお、乱数生成回路318を制御するレジスタが初期化されることから、乱数更新範囲が再設定されるとともに、乱数値の初期値も再設定される。CPU304の指定エリア外走行が生じたときは特に、乱数更新範囲に何らかの影響が及ぼされている可能性があるため、乱数更新範囲の再設定を行うことが好ましい。 Although not shown in FIG. 105, in the security mode, first, the first internal circuit initialization process in step SH03 shown in FIG. 76 is executed, and the core of the CPU 304, the timer circuit 311, the counter circuit 312, and the parallel input port 3102 are executed. The values of built-in registers such as the RAM 308 access protect register, the interrupt control circuit 3100, and the register that controls the random number generation circuit 318 are initialized. Since the register that controls the random number generation circuit 318 is initialized, the random number update range is reset, and the initial value of the random number is also reset. In particular, when traveling outside the designated area of the CPU 304 occurs, it is preferable that the random number update range is reset because there is a possibility that the random number update range has some influence.
続いて、固定延長処理(ステップSH07)が行われ、この固定延長処理が終了すると、リセット制御回路314は、マイクロプロセッサ3000の外部にある周辺制御回路に対して、リセット出力端子(XRSTO端子)からリセット信号を出力する。すなわち、XRSTO端子からのリセット信号(リセット出力)は、固定延長処理の終了後(セキュリティモード中)に出力され、ユーザモードの開始とは異なるタイミングで出力される。 Subsequently, a fixed extension process (step SH07) is performed. When this fixed extension process is completed, the reset control circuit 314 sends a reset output terminal (XRSTO terminal) to the peripheral control circuit outside the microprocessor 3000. Output a reset signal. That is, the reset signal (reset output) from the XRSTO terminal is output after the end of the fixed extension process (during the security mode), and is output at a timing different from the start of the user mode.
次に、ランダム延長処理(ステップSH09)が行われ、遅延処理の時間が不定になる。ランダム延長処理が終了すると、遊技台はユーザモードに移行し、遊技制御用プログラム(ここでは主制御部メイン処理)が開始される。 Next, a random extension process (step SH09) is performed, and the delay process time becomes indefinite. When the random extension process is completed, the gaming machine shifts to the user mode, and a game control program (main control unit main process in this case) is started.
この遊技制御用プログラムでは、最初に、各種の初期設定(図88に示すステップS101〜ステップS115)が行われる。この初期設定では、図106(a)に示すように、上述の第4内部情報レジスタの1ビット目から「更新クロック異常を示すビット」の値を読み出した後に、読み出した値を汎用レジスタにセットする(書き込む)処理を実行する一方で、第4内部情報レジスタの0ビット目から「リセット要因がシステムリセットであるか否かを示すビット」を読み出す処理は実行するが、読み出した値を汎用レジスタにセットする(書き込む)処理を実行しないように構成している。 In this game control program, first, various initial settings (steps S101 to S115 shown in FIG. 88) are performed. In this initial setting, as shown in FIG. 106 (a), after reading the value of “bit indicating update clock abnormality” from the first bit of the fourth internal information register, the read value is set in the general-purpose register. On the other hand, while the process of reading (writing) is executed, the process of reading “the bit indicating whether or not the reset factor is a system reset” is executed from the 0th bit of the fourth internal information register. It is configured not to execute the process of setting (writing).
換言すると、同図(b)に示すように、マイクロプロセッサ3000は、第1の要因(例えば、乱数生成回路318の更新クロックの状態)に基づいて変化する内部情報レジスタのビット(例えば、第4内部情報レジスタのビット1)の値を読み出して、読み出した値を汎用レジスタにセットする(書き込む)一方で、第1の要因とは異なる第2の要因(例えば、リセット要因)に基づいて変化する内部情報レジスタのビット(例えば、第4内部情報レジスタのビット0)の値を読み出すが、読み出した値を汎用レジスタにセットしない(書き込まない)ように構成されている。 In other words, as shown in FIG. 7B, the microprocessor 3000 uses the bits (for example, the fourth information register) that change based on the first factor (for example, the state of the update clock of the random number generation circuit 318). While reading the value of bit 1) of the internal information register and setting (writing) the read value in the general-purpose register, it changes based on a second factor (for example, a reset factor) different from the first factor A value of the bit of the internal information register (for example, bit 0 of the fourth internal information register) is read, but the read value is not set (not written) in the general-purpose register.
初期設定を終えると、続いて、ソフトウェア乱数の更新処理(ステップS117およびステップS119)が行われ、次いで、最初に発生する大当りの乱数取得タイミングに到達する。ここで、最初に発生する大当りの乱数取得タイミングに乱数を不正に取得されると、強制的に大当りにされてしまうことがある。しかしながら、ランダム延長処理によって遅延処理の時間が不定になっているため、上述のリセット出力を不正にとらえて、最初に発生する大当りの乱数取得のタイミングを図ろうとしても、上記所定時間も不定になり、不正行為を防止することができる。 When the initial setting is completed, the software random number update process (step S117 and step S119) is performed, and then the first big hit random number acquisition timing is reached. Here, if a random number is illegally acquired at the first big hit random number acquisition timing, the big hit may be forced. However, since the time of delay processing is indefinite due to the random extension processing, the above-mentioned predetermined time is also indefinite even if the above-mentioned reset output is caught illegally and the timing for acquiring the first big hit random number is attempted. Therefore, cheating can be prevented.
図107は、上記図75に示すマイクロプロセッサ3000のリセット制御回路314の変形例を示した図である。この変形例に係るリセット回路1314は、図75に示すリセット制御回路314が備える指定エリア外走行禁止回路3142、ウォッチドックタイマ(WDT)3141に替えて、信号出力タイミング制御回路1314aを備えている。この信号出力タイミング制御回路1314aは、2つのリセット入力端子XSRST1、リセット入力端子XSRST2から入力するリセット入力信号に基づいて、リセット出力端子XRSTOから出力するリセット出力信号の出力タイミングを決定するための回路である。 FIG. 107 is a diagram showing a modification of the reset control circuit 314 of the microprocessor 3000 shown in FIG. The reset circuit 1314 according to this modification includes a signal output timing control circuit 1314a instead of the out-of-designated area travel prohibition circuit 3142 and the watchdog timer (WDT) 3141 included in the reset control circuit 314 shown in FIG. This signal output timing control circuit 1314a is a circuit for determining the output timing of the reset output signal output from the reset output terminal XRSTO based on the reset input signals input from the two reset input terminals XSRST1 and XSRST2. is there.
図108は、主制御部300と第1副制御部400とのうち主制御部300のみでWDT3141のタイムアウトが生じた場合の例を示すタイミングチャートである。図108に示すタイミングチャートでは、図の左から右に向かって時間(T)が経過していく。図の左端の状態では、主制御部300にも第1副制御部400にも12Vの電圧が供給され、主制御部300も第1副制御部400も通常処理を行っている。この例では、主制御部300は特図の変動表示を開始し、第1副制御部400は、主制御部300による特図変動表示の開始に合わせて、ここでは不図示の第2副制御部500を介して、装飾図柄表示装置208に装飾図柄の変動表示を開始させる。図108に示すタイミングチャートにおける(a)〜(g)の符号は、符号が記された位置のタイミングを示すものであり、図108の下方には、そのタイミングにおける装飾図柄表示装置208の様子が示されている。 FIG. 108 is a timing chart showing an example in the case where a timeout of WDT 3141 occurs only in main control unit 300 out of main control unit 300 and first sub control unit 400. In the timing chart shown in FIG. 108, time (T) elapses from the left to the right in the figure. In the state at the left end of the figure, a voltage of 12 V is supplied to both the main control unit 300 and the first sub control unit 400, and both the main control unit 300 and the first sub control unit 400 perform normal processing. In this example, the main control unit 300 starts the special figure variation display, and the first sub control unit 400 performs the second sub control (not shown here) in accordance with the start of the special figure fluctuation display by the main control unit 300. Via the unit 500, the decorative symbol display device 208 starts the variable display of decorative symbols. The symbols (a) to (g) in the timing chart shown in FIG. 108 indicate the timing of the position where the symbol is written, and the state of the decorative symbol display device 208 at that timing is shown below FIG. It is shown.
主制御部300が特図変動表示を開始して間もなく主制御部300では瞬断が生じ、一時的な電圧降下により、電断時処理が行われ、待機状態に移行する。図97(b)を用いて説明したように、待機状態では、主制御部300のWDT3141がリスタートされず、WDT3141がタイムアウトする。リセット制御回路314からは、WDT3141のタイムアウトに基づいてシステムリセット信号2が出力される。 Shortly after the main control unit 300 starts displaying the special figure fluctuation, an instantaneous interruption occurs in the main control unit 300, and a process at the time of power interruption is performed due to a temporary voltage drop, and a transition is made to a standby state. As described with reference to FIG. 97 (b), in the standby state, the WDT 3141 of the main control unit 300 is not restarted, and the WDT 3141 times out. A system reset signal 2 is output from the reset control circuit 314 based on the timeout of the WDT 3141.
システムリセット信号2が出力されたことにより、主制御部300は、図76に示すリセット処理を開始する。主制御部300では、このリセット処理で、第1内部回路初期化処理(ステップSH03)が実行された後に、セキュリティチェック処理(ステップSH05)が実行される。そして、セキュリティチェック処理が終了してもユーザモード(図88に示す主制御部メイン処理)にはすぐには移行せず、遅延処理が行われ、リセット処理が継続する。この遅延処理では、図76に示す固定延長処理(ステップSH07)が実行される。なお、上述のごとく、固定延長処理が終了すると、リセット制御回路314は、マイクロプロセッサ3000の外部にある周辺制御回路に対して、リセット出力端子(XRSTO端子)からリセット信号を出力するが、このリセット信号は、第1副制御部400に送信されるものではない。さらに、遅延処置では、ランダム延長処理(ステップSH09)が実行され、最大30秒のランダム時間だけさらに、ユーザモードへの移行が遅延される。これらステップSH07およびステップSH09は、本発明にいう遅延処理の一例に相当する。 When the system reset signal 2 is output, the main control unit 300 starts the reset process shown in FIG. In the main control unit 300, after the first internal circuit initialization process (step SH03) is executed in this reset process, the security check process (step SH05) is executed. Then, even if the security check process is completed, the user mode (main control unit main process shown in FIG. 88) is not immediately shifted, the delay process is performed, and the reset process is continued. In this delay process, the fixed extension process (step SH07) shown in FIG. 76 is executed. As described above, when the fixed extension process is completed, the reset control circuit 314 outputs a reset signal from the reset output terminal (XRSTO terminal) to the peripheral control circuit outside the microprocessor 3000. The signal is not transmitted to the first sub control unit 400. Further, in the delay process, a random extension process (step SH09) is executed, and the transition to the user mode is further delayed by a random time of a maximum of 30 seconds. These steps SH07 and SH09 correspond to an example of the delay processing referred to in the present invention.
また、上述のごとく、電断時処理が開始されてから所定時間(例えば、1000ms)が経過するまでに、図4に示す払出制御部600が主制御部300からのコマンドを受信できない場合には、発射制御部630への発射許可信号の出力を停止する。 Further, as described above, when the dispensing control unit 600 shown in FIG. 4 cannot receive a command from the main control unit 300 until a predetermined time (for example, 1000 ms) elapses after the power interruption process is started. Then, the output of the firing permission signal to the firing control unit 630 is stopped.
一方、この例では、主制御部300では瞬断が生じたものの、第1副制御部400には継続して12Vの電圧が供給されており、主制御部300が電断時処理やリセット処理を行っている間も、第1副制御部400は通常処理を継続する。この結果、演出実行手段は演出を続けており、装飾図柄表示装置208でも、装飾図柄の変動表示が継続されており、主制御部300が電断時処理を開始して間もない(b)のタイミングでは、左図柄表示領域208aで装飾図柄の停止表示が行われる(いわゆる左図柄停止)。また、(c)のタイミングでは、右図柄表示領域208cで装飾図柄の停止表示が行われ(いわゆる右図柄停止)、リーチ状態になる。続いて、(d)のタイミングでは、スペシャルリーチ(ここではいわゆるトリプルリーチ)に発展し、(e)のタイミングでは、リーチはずれ演出が一旦行われ、(f)のタイミングでは、装飾図柄の組合せ(ここでは「装飾5−装飾4−装飾5」)が揺れ変動している。第1副制御部400は、主制御部300から図柄変動停止コマンドが送られてきたことに基づいて、装飾図柄の組合せを完全停止させて確定停止を行う。ところが、主制御部300が電断時処理やリセット処理を行っている間は、第1副制御部400には主制御部300からコマンドが送信されない。 On the other hand, in this example, although the main control unit 300 has an instantaneous interruption, the first sub-control unit 400 is continuously supplied with a voltage of 12 V, and the main control unit 300 performs the power interruption process and the reset process. The first sub-control unit 400 continues normal processing even during the process. As a result, the effect executing means continues the effect, and the decorative symbol display device 208 continues to display the decorative symbol fluctuating, and it is shortly after the main control unit 300 starts the power interruption process (b). At this timing, the decorative symbol is stopped and displayed in the left symbol display area 208a (so-called left symbol stop). At the timing (c), the decorative symbol is stopped and displayed in the right symbol display area 208c (so-called right symbol stop), and the reach state is reached. Subsequently, at the timing of (d), it develops into a special reach (here, so-called triple reach), at the timing of (e), a reach-off effect is once performed, and at the timing of (f), a combination of decorative symbols ( Here, “decoration 5—decoration 4—decoration 5”) fluctuates. Based on the fact that the symbol variation stop command is sent from the main control unit 300, the first sub-control unit 400 completely stops the combination of the decorative symbols and performs the fixed stop. However, no command is transmitted from the main control unit 300 to the first sub-control unit 400 while the main control unit 300 is performing a power interruption process or a reset process.
この結果、特図の変動時間が経過しても揺れ変動が継続することになる。いつまでも続く揺れ変動を見た遊技者は、パチンコ機100が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。すなわち、従来の遊技台では、遊技中に静電気などによる瞬間的な電圧低下でリセットが発生した場合にリセット処理を行なう技術が考案されているが、リセット処理には僅かな時間しかかからないため、遊技店側がリセットの発生を把握できず、遊技台に安定した制御を行なわせることができなかったが、本実施形態の遊技台によれば、遊技制御の開始を遅延させることで、遊技者を介してリセットの発生を遊技店員が把握できる。また、リセットの発生を遊技店員が把握できるため、リセットの発生要因を排除する(例えば、遊技台裏の配線等を離す)などして遊技台に安定した制御を行なわせることができる。さらに、この例では、リーチはずれ演出が行われているが、リーチ当り演出が行われてから揺れ変動がいつも以上に継続した場合には、大当りを期待していた遊技者に対して、パチンコ機100が壊れ、有利な状態にならないように変化してしまったのではないかといった遊技者の不安を一層煽ることができ、遊技者に店員を呼び出させ、遊技店員に瞬断が発生したことを知らせることができる場合がある。 As a result, the fluctuation of the shaking continues even if the fluctuation time of the special figure elapses. Players who have seen fluctuations that continue to forever are worried that the pachinko machine 100 may have broken, and can expect to call a store clerk at the amusement store. May be possible. In other words, in the conventional game machine, a technique has been devised to perform a reset process when a reset occurs due to an instantaneous voltage drop due to static electricity or the like during the game, but the reset process takes only a short time. Although the store side could not grasp the occurrence of the reset and could not allow the game machine to perform stable control, according to the game machine of this embodiment, by delaying the start of game control, The game store clerk can grasp the occurrence of the reset. Further, since the game store clerk can grasp the occurrence of the reset, it is possible to cause the game machine to perform stable control by eliminating the cause of the occurrence of the reset (for example, by separating the wiring on the back of the game machine). Furthermore, in this example, the out-of-reach performance is performed, but if the fluctuation of fluctuation continues more than usual after the per-reach performance, the pachinko machine is expected for the player who expected the big hit. It is possible to further raise the player's anxiety that the 100 may have broken and changed so that it does not become an advantageous state, letting the player call the store clerk, that the game store clerk had a momentary break You may be able to inform.
また、リセット処理が行われている期間は、発射許可信号の出力が停止されており、発射装置110からの遊技球の発射ができない。そのため、装飾図柄表示装置208による表示は継続しているのに、図1に示す球発射ハンドル134をいくら操作しても遊技球が発射されず、遊技者は、パチンコ機100が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。すなわち、遅延処理中は発射を停止させることで、遊技者を介してリセットの発生を遊技店員が把握できる場合がある。 Further, during the period when the reset process is being performed, the output of the launch permission signal is stopped, and the game ball cannot be launched from the launch device 110. For this reason, although the display by the decorative symbol display device 208 is continued, the game ball is not fired no matter how many times the ball launch handle 134 shown in FIG. 1 is operated, and the player may have broken the pachinko machine 100. I am worried that there may be a chance, I can expect to call a store clerk at the amusement store, and I may be able to inform the amusement store clerk that an interruption or reset has occurred. In other words, the game store clerk may be able to grasp the occurrence of the reset via the player by stopping the launch during the delay process.
さらに、XRSTO信号が立ち下がるタイミングで主制御部300の各回路(例えば、駆動回路324〜334)にクリア信号が出力され、電断時処理やリセット処理が行われている期間は、主制御部300が駆動する、普図表示装置210や、第1特図表示装置212や、第2特図表示装置214や、普図保留ランプ216や、第1特図保留ランプ218や、第2特図保留ランプ220や、高確中ランプ222等の遊技表示手段も表示されず、これらの非表示に気付いた、遊技者は、パチンコ機100が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。特に、普図保留ランプ216や、第1特図保留ランプ218や、第2特図保留ランプ220や、高確中ランプ222といった遊技者が獲得した権利に基づく状態を表示する表示器が、非表示になると、パチンコ機100が壊れて、こらまで獲得した権利が消滅してしまったのではないかといった遊技者の不安を一層煽ることができ、遊技者に店員を呼び出させ、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。また、見方を変えれば、店員に遊技客に対してお詫びをする機会が与えられ、遊技客とのコミニュケーションが図れ、アットホームな遊技店を実現する手助けになる可能性がある。 Further, a clear signal is output to each circuit (for example, the drive circuits 324 to 334) of the main control unit 300 at a timing when the XRSTO signal falls, and the main control unit 300 is driven, the special figure display device 210, the first special figure display device 212, the second special figure display device 214, the universal figure hold lamp 216, the first special figure hold lamp 218, and the second special figure. The game display means such as the hold lamp 220 and the high-probability lamp 222 are not displayed, and the player who notices these non-displays is anxious that the pachinko machine 100 is broken, and is a store clerk of the game store. Can be expected to inform the game store clerk that a momentary interruption or reset has occurred. In particular, the display device for displaying the status based on the rights acquired by the player, such as the general figure hold lamp 216, the first special figure hold lamp 218, the second special figure hold lamp 220, and the high accuracy medium lamp 222, is not provided. When it is displayed, the pachinko machine 100 is broken and the player's anxiety that the acquired rights have been lost can be further exaggerated. It may be possible to notify that a disconnection or reset has occurred. Also, from a different perspective, the store clerk can be given an opportunity to apologize to the player, communicate with the player, and help to realize a cozy game store.
主制御部300では、ランダム延長処理(ステップSH09)が終了すると、ここで初めてユーザモードに移行し、通常処理(図88に示す主制御部メイン処理)が開始される。図88に示す主制御部メイン処理では、主制御部300への供給電圧が12Vまで復帰しているため、図89に示す初期設定2が行われ、第1副制御部400には、ここで初めてクリア信号が出力される(ステップS1052)。 第1副制御部400は、クリア信号を受信すると各種の初期設定を行う。この初期設定で、装飾図柄表示装置208に初期設定時の画面(デフォルト画面)を表示させる。なお、第1副制御部400のWDT3141でタイムアウトが生じた場合にも、装飾図柄表示装置208にはデフォルト画面が表示される。図108に示す(g)のタイミングでは、装飾図柄表示装置208に「お待ち下さい。」という文字表示がなされている。すなわち、装飾図柄表示装置208の画面は、いつまでたっても終わらなかった揺れ変動から「お待ち下さい。」という文字表示の画面に切り替わり、この一連の表示を見ていた遊技者は、パチンコ機100が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断が発生したことを知らせることができる場合がある。 In the main control unit 300, when the random extension process (step SH09) ends, the main control unit 300 first shifts to the user mode and starts the normal process (main control unit main process shown in FIG. 88). In the main process of the main control unit shown in FIG. 88, since the supply voltage to the main control unit 300 has returned to 12 V, the initial setting 2 shown in FIG. 89 is performed, and the first sub-control unit 400 includes A clear signal is output for the first time (step S1052). The first sub-control unit 400 performs various initial settings when receiving the clear signal. With this initial setting, the initial design screen (default screen) is displayed on the decorative symbol display device 208. Note that the default screen is displayed on the decorative symbol display device 208 even when a timeout occurs in the WDT 3141 of the first sub-control unit 400. At the timing (g) shown in FIG. 108, a character display “Please wait” is displayed on the decorative symbol display device 208. That is, the screen of the decorative symbol display device 208 is switched to a character display screen of “Please wait” from the shaking fluctuation that has not ended indefinitely. I am worried that it may have been, I can expect to call a store clerk at the amusement store, and may be able to inform the amusement store clerk that a momentary break has occurred.
なお、主制御部メイン処理が開始されると、主制御部300から払出制御部600にもコマンドが送信されるようになり、発射制御部630へ発射許可信号が出力されて、遊技球の発射ができるようになる。 When the main control unit main process is started, a command is transmitted from the main control unit 300 to the payout control unit 600, and a launch permission signal is output to the launch control unit 630, and the game ball is fired. Will be able to.
この例では、主制御部300がリセット処理から通常処理に移行するタイミングは、装飾図柄の組合せの揺れ変動中((f)のタイミング以降)であったが、揺れ変動前((f)のタイミングより前)であっても、装飾図柄表示装置208にはデフォルト画面が表示される。 In this example, the timing at which the main control unit 300 shifts from the reset process to the normal process is during the fluctuation fluctuation of the decorative symbol combination (after the timing (f)), but before the fluctuation fluctuation (timing (f). Even before, a default screen is displayed on the decorative symbol display device 208.
以上説明した図108では、WDT3141のタイムアウトが生じた場合の例であったが、CPU304の指定エリア外走行が生じた場合にも同様に、遊技者を介してリセットの発生を遊技店員が把握でき、遊技台に安定した制御を行なわせることができる。また、リセットがかかるようなその他の異常が生じた場合でも、システムリセット動作を行わせるようにしておけば、システムリセット中に遅延処理が実行され、遊技者を介してリセットの発生を遊技店員が把握でき、遊技台に安定した制御を行なわせることができる場合がある。 FIG. 108 described above is an example in the case where a timeout of WDT 3141 occurs. Similarly, when a run out of the designated area of CPU 304 occurs, the game store clerk can grasp the occurrence of reset via the player. Thus, it is possible to cause the game machine to perform stable control. In addition, even if other abnormalities such as resetting occur, if the system reset operation is performed, a delay process is executed during the system reset, and the game store clerk detects the occurrence of the reset via the player. In some cases, the game table can be grasped and stable control can be performed.
以上の説明では、『電源の遮断が検出されるまで繰り返し実行される主処理(例えば、ステップS117、S119、および主制御部タイマ割込み処理)を含む遊技に関する遊技処理を実行する遊技制御部(例えば、主制御部300)、および前記遊技制御部が前記遊技処理を実行中に該遊技処理の正常な進行を妨げる異常(例えば、WDT3141のタイムアウトやCPU304の指定エリア外走行)を検出したことに基づいて復帰指示(例えば、システムリセット信号2,3)を行う異常検出部(例えば、リセット制御回路314)が設けられた電気的制御手段(例えば、マイクロプロセッサ3000)を備え、前記遊技制御部(例えば、主制御部300)は、前記復帰指示に基づいて前記遊技処理の実行を中止するものであって、前記電気的制御手段(例えば、マイクロプロセッサ3000)は、前記遊技制御部が前記遊技処理の実行を開始するための復帰処理(例えば、システムリセット動作)を前記復帰指示に基づいて行い、該復帰処理を実行している最中に該遊技処理の開始を遅延させる遅延処理(例えば、ステップSH07,SH09)を実行するものであることを特徴とする遊技台。』についての説明がなされている。 In the above description, “a game control unit (for example, a game process related to a game including a main process (for example, steps S117 and S119, and a main control unit timer interrupt process) that is repeatedly executed until power-off is detected) (for example, , The main control unit 300), and the game control unit detecting an abnormality (for example, time-out of the WDT 3141 or running out of the designated area of the CPU 304) that prevents normal progress of the game process while the game process is being executed. Provided with an electrical control means (for example, a microprocessor 3000) provided with an abnormality detection unit (for example, a reset control circuit 314) for performing a return instruction (for example, system reset signals 2 and 3), and the game control unit (for example, The main control unit 300) stops the execution of the game process based on the return instruction, and The air control means (for example, the microprocessor 3000) performs a return process (for example, a system reset operation) for the game control unit to start execution of the game process based on the return instruction, and performs the return process. A game machine characterized by executing a delay process (for example, steps SH07 and SH09) for delaying the start of the game process during the execution. Is explained.
ここで、前記遊技処理の遊技処理プログラムを記憶した記憶部(例えば、内蔵ROM306)を備え、前記電気的制御手段は、前記遊技処理の実行を再開するための初期化処理(例えば、ステップSH03の第1内部回路初期化処理)を前記復帰指示に基づいて行うものであって、前記遊技制御部は、前記復帰指示に基づいて前記遊技処理の実行を中止し、前記初期化処理が行われた後、前記記憶部から前記遊技処理プログラムを順次読み出して前記遊技処理を再開するものであって、前記電気的制御手段は、前記初期化処理を完了してから前記遊技処理を開始するまでの間に、該遊技処理の開始時期を遅延させる遅延処理を実行するものであってもよい。すなわち、ここにいう復帰処理は、初期化処理と遅延処理を併せた処理になる。 Here, a storage unit (for example, a built-in ROM 306) that stores a game process program for the game process is provided, and the electrical control means performs an initialization process (for example, in step SH03) for resuming the execution of the game process. The first internal circuit initialization process) is performed based on the return instruction, and the game control unit suspends execution of the game process based on the return instruction, and the initialization process is performed. Thereafter, the game process program is sequentially read out from the storage unit and the game process is resumed, and the electrical control means is a period between the completion of the initialization process and the start of the game process. In addition, a delay process for delaying the start timing of the game process may be executed. That is, the return process here is a process that combines the initialization process and the delay process.
また、電源の遮断が検出されるまで繰り返し実行される主処理を含む遊技に関する遊技処理を実行する遊技制御手段と、前記遊技制御手段が前記遊技処理を実行中に該遊技処理の進行を妨げる異常を検出したことに基づいて復帰指示を行う異常検出手段とを備え、前記遊技制御手段は、前記復帰指示に基づいて前記遊技処理の実行を中止し、該遊技処理の実行を再開するための復帰処理を行うものであって、該復帰処理を実行している最中に該遊技処理の再開を遅延させる遅延処理を実行するものであることを特徴とする遊技台。の態様であってもよい。この態様によれば、前記電気的制御手段といった、ハードウェア処理とソフトウェア処理の双方を行うことができる手段に代えて、遊技制御手段といったソフトウェア処理のみを行う手段によって、上記復帰処理を行い、その復帰処理を実行している最中に上記遅延処理を実行する。なお、前記遊技処理の遊技処理プログラムを記憶した第1記憶部と、前記復帰処理の復帰プログラムを記憶した第2記憶部とを備え、前記遊技制御手段は、前記1記憶部から前記遊技処理プログラムを順次読み出して前記遊技処理を実行するものであって、前記電気的制御手段は、前記復帰プログラムにしたがって前記復帰処理を実行するものであってもよい。 Also, a game control means for executing a game process relating to a game including a main process that is repeatedly executed until power-off is detected, and an abnormality that prevents the progress of the game process while the game control means is executing the game process An abnormality detecting means for giving a return instruction based on the detection of the game, and the game control means stops the execution of the game process based on the return instruction and resumes the execution of the game process. A gaming machine that performs processing, and executes delay processing that delays resumption of the game processing during execution of the return processing. The aspect of this may be sufficient. According to this aspect, instead of the means that can perform both hardware processing and software processing such as the electrical control means, the return processing is performed by means that performs only software processing such as game control means, The delay process is executed while the return process is being executed. The game processing program includes a first storage unit storing a game processing program for the game process and a second storage unit storing a return program for the return process, and the game control unit is configured to receive the game processing program from the first storage unit. Are sequentially read out to execute the game process, and the electrical control means may execute the return process according to the return program.
この場合、安定した遊技制御を行うことができる場合がある。すなわち、遊技制御の開始を遅延させることで、遊技者を介してリセットの発生を遊技店員が把握できる場合がある。また、リセットの発生を遊技店員が把握できるため、リセットの発生要因(例えば、静電気を発する電気部品)を特定して対処する(例えば、遊技台裏の配線の配置等を見直す)ことができ、遊技台に安定した制御を行なわせることができる場合がある。また、復帰処理中は遊技処理が行われないため、リセット発生時に遊技領域を転動していた遊技球が復帰処理中に第1特図始動口230に進入したとしても進入に基づく処理が行われず、遊技者に不安を抱かせて遊技店員を呼び易くすることが出来る場合がある。また、遊技店員は、遊技球を第1特図始動口230などに手で入れることによって、遊技台の状態を確認することができる場合がある。また、復帰処理中は遊技処理が行われないため、本体104または前面枠扉106を開放したとしても開放に基づく処理が行われず、遊技店員が本体104または前面枠扉106を開放することで、遊技台の状態を確認することができる場合がある。 In this case, stable game control may be performed. In other words, by delaying the start of game control, the game store clerk may be able to grasp the occurrence of reset via the player. In addition, since the game store clerk can grasp the occurrence of the reset, it is possible to identify and deal with the cause of the reset (for example, an electrical component that generates static electricity) (for example, review the layout of the wiring behind the game table) In some cases, the game machine can be controlled stably. In addition, since the game process is not performed during the return process, the process based on the entry is performed even if the game ball rolling in the game area when the reset occurs enters the first special figure starting port 230 during the return process. In some cases, it is possible to make the game store clerk easy to call with anxiety. In addition, the game store clerk may be able to confirm the state of the game table by manually inserting the game ball into the first special figure starting port 230 or the like. In addition, since the game process is not performed during the return process, even if the main body 104 or the front frame door 106 is opened, the process based on the opening is not performed, and the game store clerk opens the main body 104 or the front frame door 106, You may be able to check the status of the game console.
また、これまでの説明において、『前記電気的制御手段(例えば、マイクロプロセッサ3000)は、異常が発生したか否かを判定するセキュリティチェック処理を前記復帰処理中に行う(例えば、ステップSH05のセキュリティチェック処理を行う)ものであることを特徴とする遊技台。』についても説明がなされている。 Further, in the above description, “the electrical control means (for example, the microprocessor 3000) performs a security check process for determining whether or not an abnormality has occurred during the return process (for example, the security in step SH05). A game machine characterized by a check process). Is also explained.
この場合、復帰処理中にセキュリティチェック処理も行うため、復帰処理が行われている間の時間を有効に活用することができるとともに、セキュリティを向上させることが出来る場合がある。 In this case, since the security check process is also performed during the return process, the time during which the return process is being performed can be used effectively, and security can be improved.
なお、前記異常検出部は、前記異常のうちの第1の異常(例えば、CPU304の指定エリア外走行)があったことに基づいて前記復帰指示のうちの第1の復帰指示(例えば、システムリセット信号)を出力し、前記異常のうちの第2の異常(例えば、WDT3141のタイムアウト)があったことに基づいて前記復帰指示のうちの第2の復帰指示(例えば、ユーザリセット信号)を出力し、前記電気的制御手段は、前記第1の復帰指示に基づいて前記復帰処理を実行している最中に前記遅延処理を実行し、前記第2の復帰指示に基づいて前記復帰処理を実行している最中に前記遅延処理を実行しないものであってもよい。 The abnormality detection unit detects a first return instruction (for example, a system reset) among the return instructions based on a first abnormality (for example, traveling outside the designated area of the CPU 304) among the abnormalities. Signal) and a second return instruction (for example, a user reset signal) of the return instructions based on the presence of a second abnormality (for example, timeout of WDT 3141) among the abnormalities. The electrical control means executes the delay process while executing the return process based on the first return instruction, and executes the return process based on the second return instruction. The delay process may not be executed during the operation.
この場合、異常の種類に応じて遊技処理が開始されるまでの時間が異なるため、遊技店員が異常の種類を判別することができる場合がある。 In this case, since the time until the game process is started differs depending on the type of abnormality, the game store clerk may be able to determine the type of abnormality.
また、前記第1の異常は、前記第2の異常よりも異常度が高いものであってもよい。 The first abnormality may have a higher degree of abnormality than the second abnormality.
この場合、異常度の高い第1の異常が発生したときに復帰処理で遅延処理が行われるため、遊技店員は異常度が高い異常に基づくリセットが発生したことを確認することができる場合がある。 In this case, since the delay process is performed in the return process when the first abnormality having a high degree of abnormality occurs, the game clerk may be able to confirm that a reset based on the abnormality having a high degree of abnormality has occurred. .
また、前記電気的制御手段は、前記第1の復帰指示に基づいて前記復帰処理を実行している最中に前記セキュリティチェック処理を実行し、前記第2の復帰指示に基づいて前記復帰処理を実行している最中に前記セキュリティチェック処理を実行しないものであってもよい。 Further, the electrical control means executes the security check process while executing the return process based on the first return instruction, and performs the return process based on the second return instruction. The security check process may not be executed during the execution.
なお、遊技領域に向けて遊技球を発射する発射手段(例えば、発射装置110)を備え、前記発射手段は、前記遅延処理が実行されている間は遊技球の発射を停止するものであってもよい。 In addition, a launching unit (e.g., launching device 110) that launches a game ball toward the game area is provided, and the launching unit stops launching the game ball while the delay process is being executed. Also good.
この場合、遊技者は、パチンコ機100が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。すなわち、遅延処理中は発射を停止させることで、遊技者を介してリセットの発生を遊技店員が把握できる場合がある。 In this case, the player is worried that the pachinko machine 100 may have broken, and can expect to call a store clerk at the amusement store, and may be able to notify the game store clerk that an instantaneous interruption or reset has occurred. is there. In other words, the game store clerk may be able to grasp the occurrence of the reset via the player by stopping the launch during the delay process.
また、前記遊技処理の遊技処理プログラムを記憶した記憶部(例えば、内蔵ROM306)を備え、前記遊技制御部(例えば、主制御部300)は、前記記憶部から前記遊技処理プログラムを読み出して前記遊技処理を実行するものであって、前記記憶部(例えば、内蔵ROM306)は、この記憶部に記憶された内容(例えば、ユーザプログラム)に基づいて得られる所定の認証情報(例えば、認証コード)を格納したものであり、前記電気的制御手段(例えば、マイクロプロセッサ3000)は、前記記憶部に記憶されている内容に基づいて前記認証情報を前記復帰処理中に取得し、取得した認証情報が該記憶部に格 In addition, a storage unit (for example, a built-in ROM 306) that stores a game processing program for the game processing is provided, and the game control unit (for example, the main control unit 300) reads the game processing program from the storage unit and stores the game The storage unit (for example, the built-in ROM 306) receives predetermined authentication information (for example, an authentication code) obtained based on the contents (for example, a user program) stored in the storage unit. The electrical control means (for example, the microprocessor 3000) acquires the authentication information during the return process based on the content stored in the storage unit, and the acquired authentication information is stored in the storage unit. Case in memory
納されている前記所定の認証情報に一致するか否かの判定を該復帰処理中に行う(例えば、ステップSH05のセキュリティチェック処理を行う)ものであってもよい。 It may be determined during the restoration process (for example, the security check process in step SH05 is performed) whether or not it matches the predetermined authentication information stored.
この場合、復帰処理中に所定の認証情報に一致するか否かの判定を行うため、復帰処理が行われている間の時間を有効に活用することができるとともに、セキュリティを向上させることが出来る場合がある。 In this case, since it is determined whether or not it matches the predetermined authentication information during the return process, the time during which the return process is performed can be used effectively, and security can be improved. There is a case.
なお、前記電気的制御手段は、取得した認証情報が該記憶部に格納されている前記所定の認証情報に一致したことに基づいて、前記遅延処理を実行するものであってもよい。 The electrical control unit may execute the delay process based on the fact that the acquired authentication information matches the predetermined authentication information stored in the storage unit.
また、前記遊技制御部は、取得した認証情報が該記憶部に格納されている前記所定の認証情報に不一致であったことに基づいて、動作を停止するものであってもよい。 The game control unit may stop the operation based on the fact that the acquired authentication information does not match the predetermined authentication information stored in the storage unit.
また、前記電気的制御手段は、前記遊技処理の開始を、予め定まった時間遅延させる第一遅延処理(例えば、ステップSH07の固定延長処理)、および変更可能な時間遅延させる第二遅延処理(例えば、ステップSH09のランダム延長処理)のうち少なくともいずれか一方の処理を行うものであってもよい。 Further, the electrical control means is configured to delay the start of the gaming process by a predetermined time (for example, a fixed extension process at step SH07) and a second delay process (for example, a variable time delay). , Random extension process in step SH09) may be performed.
また、前記電気的制御手段は、前記遊技処理の開始を予め定まった時間遅延させる第一遅延処理を行った後で、外部に対してリセット指示(例えば、リセット出力端子(XRSTO端子)からリセット信号)を出力し、その後、該遊技処理の開始を変更可能な時間遅延させる第二遅延処理処理を行うものであってもよい。ここにいう変更可能時間とは、前記電気的制御手段の製造時や設定時に、複数の用意された時間の中から選択された時間であってもよいし、任意に変えられる時間であってもよい。 The electrical control means performs a first delay process for delaying the start of the game process for a predetermined time, and then performs a reset instruction (for example, a reset signal from a reset output terminal (XRSTO terminal)) to the outside. ), And then a second delay process that delays the start of the game process by a variable time may be performed. The changeable time here may be a time selected from a plurality of prepared times at the time of manufacture or setting of the electrical control means, or may be a time that can be arbitrarily changed. Good.
この場合、遊技処理の開始タイミングと外部に対してのリセット指示の出力タイミングとが異なるため、有利な乱数が取得可能な最初のタイミングを不正者が解析困難にすることができ、不正者の不正行為を防止することができる場合がある。 In this case, since the start timing of the game process and the output timing of the reset instruction to the outside are different, it is possible for an unauthorized person to make it difficult to analyze the initial timing at which an advantageous random number can be obtained. It may be possible to prevent the act.
また、前記遊技制御部は、前記遊技処理の中で、所定の数値範囲(例えば、乱数生成範囲)で数値を繰り返し更新し更新した数値を用いて所定の抽選処理(例えば、特図の当否判定)を実行するものであって、前記電気的制御手段は、前記復帰処理の中で、前記数値を初期化する(例えば、ステップSH03の第1内部回路初期化処理を実行する)ものであってもよい。 In addition, the game control unit may perform a predetermined lottery process (for example, determination of whether or not a special figure is appropriate) using a numerical value that is repeatedly updated and updated in a predetermined numerical range (for example, a random number generation range) in the gaming process. The electrical control means initializes the numerical value in the return process (for example, executes the first internal circuit initialization process in step SH03). Also good.
また、前記遊技制御部によって制御される遊技表示手段(例えば、普図表示装置210や、第1特図表示装置212や、第2特図表示装置214や、普図保留ランプ216や、第1特図保留ランプ218や、第2特図保留ランプ220や、高確中ランプ222)を備え、前記遊技表示手段は、前記遅延処理が実行されている間は非表示になるものであってもよい。 In addition, game display means controlled by the game control unit (for example, the common figure display device 210, the first special figure display device 212, the second special figure display device 214, the common figure holding lamp 216, the first A special figure holding lamp 218, a second special figure holding lamp 220, and a high-probability medium lamp 222), and the game display means is not displayed while the delay process is being executed. Good.
この場合、遊技表示手段の表示が行われるはずが行われないため、遊技者に不安を抱かせて遊技店員を呼び易くすることが出来る場合がある。また、遊技店員は、遊技球を第1始動口230などに手で入れることによって、遊技台の状態を確認することができる場合がある。 In this case, since the game display means should not be displayed, there is a case where it is possible to make the game store clerk easy to call with anxiety. In addition, the game store clerk may be able to check the state of the game table by putting the game ball into the first starting port 230 or the like by hand.
また、遊技球が進入可能な第1の状態と、該第1の状態より遊技球な進入困難な第2の状態とに変化可能な可変入賞手段(例えば、第2特図始動口232、可変入賞口234)を備え、前記可変入賞手段は、前記第1の状態の場合に前記復帰指示があったことに基づいて前記第2の状態に変化するものであってもよい。 In addition, variable winning means (for example, the second special figure starting port 232, variable) that can be changed between a first state in which a game ball can enter and a second state in which a game ball is difficult to enter than the first state. The variable winning means may change to the second state based on the return instruction in the first state.
この場合、可変入賞手段が第1の状態であるべきなのに第2の状態となるため、遊技者に不安を抱かせて遊技店員を呼び易くすることが出来る場合がある。また、遊技店員は、遊技球を第1始動口230などに手で入れることによって、遊技台の状態を確認することができる場合がある。なお、前記可変入賞手段は、前記第1の状態の場合に前記復帰指示があったことに基づいて該第1の状態を維持するものであってもよい。この場合、予め定められた所定時間(例えば、開放時間)以上第1の状態となるため、遊技者に不安を抱かせて遊技店員を呼び易くすることが出来る場合がある。 In this case, since the variable winning means should be in the first state but in the second state, it may be possible to make the game store clerk easy to call with anxiety. In addition, the game store clerk may be able to check the state of the game table by putting the game ball into the first starting port 230 or the like by hand. The variable winning means may maintain the first state based on the return instruction in the first state. In this case, since the first state is maintained for a predetermined time (for example, opening time) for a predetermined time, it may be possible to make the game store clerk easy to call with anxiety.
また、前記遊技制御部からの指示に基づいて演出を実行する演出実行手段(例えば、装飾図柄表示装置208)を備え、前記演出実行手段は、前記遅延処理が実行されている間も演出を継続するものであってもよい。ここで、前記演出実行手段は、前記遊技表示手段よりも大きな表示領域を有するものであってもよい。 In addition, an effect execution means (for example, a decorative symbol display device 208) that executes an effect based on an instruction from the game control unit is provided, and the effect execution means continues the effect while the delay process is being executed. You may do. Here, the effect executing means may have a larger display area than the game display means.
この場合、遅延処理中に遊技者を退屈させないようにすることができる場合がある。 In this case, it may be possible to prevent the player from being bored during the delay process.
また、前記電気的制御手段は、前記復帰指示に基づいて、第1復帰処理と第2復帰処理を選択的に実行するものであり、前記第1復帰処理の復帰動作を記憶した第1復帰動作記憶部と、前記第2復帰処理の復帰動作を記憶した第2復帰動作記憶部と、を備え、前記電気的制御手段は、前記第1復帰処理を選択した場合には前記第1復帰動作記憶部に記憶された復帰動作にしたがって前記第1復帰処理を実行し、前記第2復帰処理を選択した場合には前記第2復帰動作記憶部に記憶された復帰動作にしたがって前記第2復帰処理を実行するものであってもよい。 The electrical control means selectively executes a first return process and a second return process based on the return instruction, and stores a return operation of the first return process. A storage unit, and a second return operation storage unit that stores a return operation of the second return process, and the electrical control means stores the first return operation memory when the first return process is selected. The first return process is executed according to the return operation stored in the unit, and when the second return process is selected, the second return process is executed according to the return operation stored in the second return operation storage unit. It may be executed.
また、前記遊技制御部は、前記遊技処理の中で、所定の数値範囲で数値を繰り返し更新し更新した数値を用いて所定の抽選処理を実行するものであって、前記電気的制御手段は、前記復帰指示に基づいて、前記数値を初期化する第1復帰処理(例えば、ステップSH03の第1内部回路初期化処理)と、該数値を該復帰指示がなされる前の値に保持する第2復帰処理(例えば、ステップSH11の第2内部回路初期化処理)を選択的に実行するものであってもよい。 Further, the game control unit performs a predetermined lottery process using a numerical value that is repeatedly updated and updated within a predetermined numerical value range in the gaming process, and the electrical control means includes: Based on the return instruction, a first return process for initializing the numerical value (for example, a first internal circuit initialization process in step SH03) and a second value for holding the numerical value at a value before the return instruction is given. The return process (for example, the second internal circuit initialization process in step SH11) may be selectively executed.
また、本発明を所定数の遊技球を循環して使用する封入式遊技機に適用してもよい。また、主制御部300と副制御部400は双方向通信でもよいし、主制御部300と副制御部400の機能を備えた1つの制御部を代わりに設けてもよい。 Further, the present invention may be applied to an enclosed game machine that circulates and uses a predetermined number of game balls. Further, the main control unit 300 and the sub control unit 400 may be bi-directional communication, or a single control unit having the functions of the main control unit 300 and the sub control unit 400 may be provided instead.
従来より、遊技台として、遊技盤の遊技領域に遊技球の落下の方向に変化を与える障害物や、遊技球が入賞可能な入賞口、始動口、可変入賞口などを設け、これらに遊技球が入賞すると賞球を払い出すなど遊技者に特典が与えられるようにした弾球遊技機(パチンコ機)が知られている。この弾球遊技機では、遊技球が始動口へ進入したことに基づいて当否判定の抽選処理を行い、当否判定の結果に応じて、可変入賞口を所定時間開放させる等、遊技者に有利な遊技状態を発生させるようにしている。 Conventionally, as a game stand, there are obstacles that change the direction of the fall of the game ball in the game area of the game board, a winning opening, a starting opening, a variable winning opening, etc. that can be used for winning the game ball. There is known a ball game machine (pachinko machine) that gives a player a privilege such as paying out a prize ball when winning a prize. This ball game machine is advantageous to the player by performing a lottery process for determining whether or not the game ball has entered the starting port and opening the variable prize opening for a predetermined time according to the result of the determination. A game state is generated.
また、メダル(遊技媒体)を投入してスタートレバーを操作することでリールを回転させるとともに、内部抽選によって役を内部決定し、ストップボタンを操作することでリールを停止させたときに、図柄表示窓上に内部決定に応じて予め定められた図柄の組み合わせが表示されると役が成立し、メダルの払い出しを伴う役が成立した場合には、規定数のメダルを払い出すなど遊技者に特典が与えられるようした回胴遊技機(スロットマシン)も知られている。 In addition, when the reel is rotated by inserting a medal (game medium) and operating the start lever, the winning combination is determined internally by internal lottery, and the reel is stopped by operating the stop button. If a combination of symbols that is predetermined according to the internal decision is displayed on the window, a winning combination is established. If a winning combination that involves paying out medals is achieved, a special number of medals are paid out. Also known is a slot machine.
ところで、遊技店の営業中に、遊技台の電気系統に異常が発生し、遊技台の電源が遮断(電断)することがある。電源断した遊技台は、その後、遊技に支障がないように即座に自動的に復電する(電源が投入される)。このため、遊技台が電断したことに遊技店側がその場では気づかないことがある。また、遊技台のプログラムが想定外の動作をした場合等、何らかの異常が生じた場合には、一旦リセットがかかる。しかしながらリセットがかかるような異常が生じた場合でも、遊技に支障がないように即座に自動的に復帰する。 By the way, during the operation of the game store, an abnormality may occur in the electrical system of the game machine, and the power supply of the game machine may be cut off (power interruption). After the power is turned off, the game table is automatically restored immediately (power is turned on) so that the game is not hindered. For this reason, the game store may not be aware of the fact that the game stand has been disconnected. In addition, if any abnormality occurs, such as when the game machine program operates unexpectedly, a reset is temporarily applied. However, even if an abnormality that requires a reset occurs, the game automatically returns immediately so that there is no problem with the game.
遊技台の電気系統に異常が発生した原因や、リセットがかかるような異常が生じた原因としては、様々なことが考えられ、遊技店側としては電断が生じたことや、リセットがかかるような異常が生じたことを、その場で把握したい場合がある。 There are various reasons why an abnormality has occurred in the electrical system of the game machine or the cause of an abnormality that could cause a reset. There is a case where it is desired to grasp on the spot that an abnormal abnormality has occurred.
一方、上記遊技台によれば、電気系統の異常が発生したことや、リセットがかかるような異常が生じたことを、遊技店側がその場で把握する機会を生じさせやすい。また、遊技制御の開始を遅延させることで、遊技者を介してリセットの発生を遊技店員が把握でき、遊技店員がリセットの発生要因を特定して対処する(例えば、遊技台裏の配線の配置等を見直す)ことができ、遊技台に安定した制御を行なわせることができる場合がある。
以下、これまで説明したことも含めて付記する。
On the other hand, according to the above-mentioned game machine, it is easy to give the game store an opportunity to grasp on the spot that an abnormality of the electric system has occurred or that an abnormality that requires resetting has occurred. In addition, by delaying the start of the game control, the game store clerk can grasp the occurrence of the reset through the player, and the game store clerk identifies and deals with the cause of the reset (for example, the layout of the wiring behind the game table) Etc.), and may allow the game stand to perform stable control.
In the following, we will add that we have explained so far.
(付記1)
遊技に関する複数種類の処理を含む遊技制御を行う遊技制御手段と、
前記遊技制御手段の処理の進行に関する異常を検出するとともに、該異常を検出した場合には前記遊技制御手段に復帰指示を行う異常検出手段と、
前記遊技制御手段および前記異常検出手段に所定の電圧を供給する電圧供給手段と、を備えた遊技台であって、
前記遊技制御手段は、
前記異常検出手段から前記復帰指示を受けたことに基づいて行われる復帰処理と、該復帰処理の後に開始され、所定の終了条件が成立するまで繰り返し実行される主処理と、を行い、
前記復帰処理は、前記遊技制御の開始を遅延させる遅延処理を含むことを特徴とする遊技台。
(Appendix 1)
Game control means for performing game control including a plurality of types of processing relating to games;
An abnormality detecting means for detecting an abnormality related to the progress of the process of the game control means and instructing a return to the game control means when the abnormality is detected;
A voltage supply means for supplying a predetermined voltage to the game control means and the abnormality detection means,
The game control means includes
Performing a return process performed based on receiving the return instruction from the abnormality detection means, and a main process that is started after the return process and repeatedly executed until a predetermined end condition is satisfied,
The game table characterized in that the return process includes a delay process for delaying the start of the game control.
(付記2)
乱数を生成するものであって、該乱数が生成される数値範囲である乱数生成範囲を設定可能な乱数生成手段(第1実施形態では乱数生成回路318、第2実施形態では乱数生成回路316')と、
前記乱数生成手段により生成された乱数を用いる抽選処理を含む、遊技に関する複数種類の処理を行う遊技制御手段(第1実施形態ではCPU304、第2実施形態ではCPU304')と、
前記遊技制御手段の処理の進行に関する異常があるか否かを検出する処理を実行するとともに、該異常を検出した場合には前記遊技制御手段の処理を特定の処理から再開させて前記遊技制御手段の処理を正常に復帰させるための復帰指示(システムリセット又はユーザリセット)を前記遊技制御手段に対して行う異常検出手段(第1実施形態ではリセット制御回路314、第2実施形態ではリセット制御回路314')と、を備え、
前記乱数生成手段は、
前記乱数生成範囲を設定するための乱数範囲設定指示を前記遊技制御手段から受けたことに基づいて前記乱数生成範囲を更新する生成範囲更新処理(図89のステップS1053)を実行するものであり、
前記遊技制御手段は、
前記異常検出手段から前記復帰指示を受けた際に、該復帰指示が行われる前に設定された前記乱数生成範囲と同じ数値範囲を前記乱数生成範囲として設定するための前記乱数範囲設定指示を前記乱数生成手段に対して行う(図89のステップS1053)ものであることを特徴とする遊技台(第1実施形態の遊技台100、第2実施形態のスロットマシン100')。
(Appendix 2)
Random number generation means for generating a random number and capable of setting a random number generation range that is a numerical range in which the random number is generated (random number generation circuit 318 in the first embodiment, random number generation circuit 316 ′ in the second embodiment) )When,
Game control means (CPU 304 in the first embodiment, CPU 304 ′ in the second embodiment) for performing a plurality of types of processing relating to the game, including lottery processing using random numbers generated by the random number generation means;
A process for detecting whether or not there is an abnormality related to the progress of the process of the game control means is executed, and when the abnormality is detected, the process of the game control means is restarted from a specific process and the game control means An abnormality detection means (a reset control circuit 314 in the first embodiment, a reset control circuit 314 in the second embodiment) that performs a return instruction (system reset or user reset) for returning the processing to normal to the game control means. ')
The random number generation means includes
A generation range update process (step S1053 in FIG. 89) for updating the random number generation range based on receiving a random number range setting instruction for setting the random number generation range from the game control means;
The game control means includes
When receiving the return instruction from the abnormality detection means, the random number range setting instruction for setting the same numerical range as the random number generation range set before the return instruction is performed as the random number generation range. A game machine (game machine 100 according to the first embodiment, slot machine 100 ′ according to the second embodiment), which is performed on the random number generation means (step S1053 in FIG. 89).
(付記3)
付記2記載の遊技台であって、
前記異常検出手段は、
所定の開始条件が成立したことに基づいて経過時間の計測を開始し、該経過時間が特定時間を超えたか否かを判定するとともに、該経過時間が特定時間を超えたと判定したことに基づいて前記遊技制御手段に復帰指示を行う(図6のWDT3141の説明参照)ものであることを特徴とする遊技台。
(Appendix 3)
A game machine according to appendix 2,
The abnormality detection means includes
Based on the fact that the elapsed time starts to be measured based on the establishment of a predetermined start condition, whether or not the elapsed time exceeds a specific time, and that the elapsed time exceeds the specific time A game table characterized by giving a return instruction to the game control means (see the description of WDT 3141 in FIG. 6).
(付記4)
所定の数値範囲で所定の周期ごとに更新され、遊技に関する抽選に用いられる乱数を生成する乱数生成手段(第1実施形態では乱数生成回路318、第2実施形態では乱数生成回路316')と、
前記乱数の更新に関する異常を検出する更新異常検出手段(周波数監視回路3182と乱数監視回路3184)と、
前記異常検出手段により前記異常が検出されたことに基づいて、所定条件が成立するまで前記異常検出手段により前記異常が検出されたことを示す異常検出情報を保持する異常検出情報保持手段(内部情報レジスタ3101)と、
所定のタイミングで前記異常検出情報保持手段を参照し、前記異常検出情報保持手段により前記異常検出情報が保持されていたことに基づいて、所定の異常対応処理を実行する異常対応処理手段(第1実施形態ではCPU304と図95のデバイス監視処理および入賞受付処理、第2実施形態ではCPU304'とデバイス監視処理)と、を備えたことを特徴とする遊技台。
(Appendix 4)
Random number generation means (random number generation circuit 318 in the first embodiment, random number generation circuit 316 ′ in the second embodiment) that generates a random number that is updated every predetermined period within a predetermined numerical range and is used for lottery related to games,
Update abnormality detection means (frequency monitoring circuit 3182 and random number monitoring circuit 3184) for detecting an abnormality related to the update of the random number;
An abnormality detection information holding unit (internal information) that holds abnormality detection information indicating that the abnormality is detected by the abnormality detection unit until a predetermined condition is satisfied based on detection of the abnormality by the abnormality detection unit. Register 3101),
An abnormality handling processing unit (first operation) that performs a predetermined abnormality handling process by referring to the abnormality detection information holding unit at a predetermined timing and based on the fact that the abnormality detection information is held by the abnormality detection information holding unit. 95. A game table comprising a CPU 304 and a device monitoring process and winning acceptance process of FIG. 95 in the embodiment, and a CPU 304 ′ and a device monitoring process in the second embodiment.
(付記5)
付記4記載の遊技台であって、
前記異常検出情報保持手段は、
前記異常検出情報を保持している状態において前記異常対応処理手段により参照されたことに基づいて、前記異常検出情報が消去されるものであること(内部情報レジスタの説明参照)を特徴とする遊技台。
<主制御部の第1変形例>
(Appendix 5)
A gaming machine according to appendix 4,
The abnormality detection information holding means is
A game characterized in that the abnormality detection information is erased on the basis of being referenced by the abnormality handling processing means in a state where the abnormality detection information is held (refer to the explanation of the internal information register). Stand.
<First Modification of Main Control Unit>
図109(a)は、主制御部の構成の第1変形例を示した図である。この例では、CPU304は、リセット信号入力端子XSRSTを備え、このリセット信号入力端子XSRSTには、ランダム遅延回路317が接続されている。なお、端子名称の先頭に付した「X」の文字は、端子に入出力する信号がローアクティブであることを示しているが、ハイアクティブでもよいことは言うまでもない(以下同様)。 FIG. 109A is a diagram showing a first modification of the configuration of the main control unit. In this example, the CPU 304 includes a reset signal input terminal XSRST, and a random delay circuit 317 is connected to the reset signal input terminal XSRST. Note that the letter “X” attached to the head of the terminal name indicates that the signal input to and output from the terminal is low active, but it goes without saying that the signal may be high active (the same applies hereinafter).
また、ランダム遅延回路317の入力端子には、電圧監視回路338が出力する低電圧信号と、WDT314が出力するWDT起動信号の2つが入力されている。電圧監視回路338は、電源制御部660から主制御部300に供給している電源の電圧値が所定の値(本実施形態では9v)未満である場合に電圧が低下したことを示す低電圧信号(例えば、Lレベルの信号)を出力する。また、WDT314は、WDTのタイムアウトによってWDT起動信号(例えば、Lレベルの信号)を出力する。 The random delay circuit 317 has two input terminals, a low voltage signal output from the voltage monitoring circuit 338 and a WDT activation signal output from the WDT 314. The voltage monitoring circuit 338 is a low voltage signal indicating that the voltage has dropped when the voltage value of the power source supplied from the power source control unit 660 to the main control unit 300 is less than a predetermined value (9v in this embodiment). (For example, an L level signal) is output. Further, the WDT 314 outputs a WDT activation signal (for example, an L level signal) due to a timeout of the WDT.
ランダム遅延回路317は、電圧監視回路338が出力する低電圧信号、または、WDT314が出力するWDT起動信号を入力端子から入力した後、ランダムに選択した遅延時間の経過を待って、当該入力信号をCPU304のリセット信号入力端子XSRSTに向けて出力する。図9を用いて説明したように、CPU304は、リセット信号入力端子XSRSTに所定期間(例えば、システムクロックの4周期分の期間)以上のLレベルの信号が入力された後にHレベルの信号が入力された場合にシステムリセット(初期化)される。このため、この例では、CPU304は、電圧監視回路338が出力する低電圧信号、または、WDT314が出力するWDT起動信号のいずれかに遅延時間を付加した信号に基づいてシステムリセット(初期化)される。
<主制御部の第2変形例>
The random delay circuit 317 inputs the low voltage signal output from the voltage monitoring circuit 338 or the WDT activation signal output from the WDT 314 from the input terminal, waits for the delay time selected at random, and receives the input signal. It outputs toward the reset signal input terminal XSRST of the CPU 304. As described with reference to FIG. 9, the CPU 304 inputs an H level signal after an L level signal is input to the reset signal input terminal XSRST for a predetermined period (for example, a period corresponding to four cycles of the system clock). System reset (initialization). Therefore, in this example, the CPU 304 is reset (initialized) based on a signal obtained by adding a delay time to either the low voltage signal output from the voltage monitoring circuit 338 or the WDT activation signal output from the WDT 314. The
<Second Modification of Main Control Unit>
図109(b)は主制御部の構成の第2変形例を示した図である。この例では、WDT314が出力するWDT起動信号を、ランダム遅延回路317を介さずにCPU304のリセット信号入力端子XSRSTに向けて直接、出力するように構成している。このため、この例では、CPU304は、電圧監視回路338が出力する低電圧信号の出力タイミングを遅延時間だけ遅延させた信号、または、WDT314が出力するWDT起動信号(遅延時間なし)に基づいてシステムリセット(初期化)される。 FIG. 109B is a diagram showing a second modification of the configuration of the main control unit. In this example, the WDT activation signal output from the WDT 314 is directly output to the reset signal input terminal XSRST of the CPU 304 without going through the random delay circuit 317. Therefore, in this example, the CPU 304 performs a system operation based on a signal obtained by delaying the output timing of the low voltage signal output from the voltage monitoring circuit 338 by a delay time or a WDT activation signal (no delay time) output from the WDT 314. It is reset (initialized).
同図(c)は、上述のランダム遅延回路317、電圧監視回路338、およびWDT314を有して構成されたリセット回路の構成例を示した図である。この例では、CPU304を、(1)WDT314が出力するWDT起動信号(遅延時間なし)に基づいてシステムリセット、(2)WDT314が出力するWDT起動信号にランダム遅延回路317で選択した遅延時間だけ出力タイミングを遅延させた信号に基づいてシステムリセット、(3)WDT314が出力するWDT起動信号をリセット信号入力端子XSRSTに入力させずに低電圧信号のみに基づいてシステムリセット、の3つの状態のいずれかをCPU304が選択可能に構成している。また、ランダム遅延回路317によって付加される遅延時間の設定が可能で、WDT起動信号に付加する遅延時間と低電圧信号に付加する遅延時間を個別に設定可能に構成している。これらの選択や設定、WDT314のスタートやリセットは、例えば、CPU304のデータ入出力端子D0〜D7を介してリセット回路に内蔵したレジスタに設定値を書き込んだり、リセット回路の所定の入力端子に所定のレベルの信号(設定値に対応する信号)を入力したりすることで行われる。
<リセット回路の第1変形例>
FIG. 6C is a diagram showing a configuration example of a reset circuit configured to include the random delay circuit 317, the voltage monitoring circuit 338, and the WDT 314 described above. In this example, the CPU 304 outputs (1) a system reset based on the WDT activation signal (no delay time) output from the WDT 314, and (2) outputs the WDT activation signal output from the WDT 314 for the delay time selected by the random delay circuit 317. One of three states: system reset based on a signal with delayed timing, and (3) system reset based on only a low voltage signal without inputting the WDT activation signal output from the WDT 314 to the reset signal input terminal XSRST. Can be selected by the CPU 304. Further, the delay time added by the random delay circuit 317 can be set, and the delay time added to the WDT activation signal and the delay time added to the low voltage signal can be individually set. These selections and settings, WDT 314 start and reset, for example, write a set value to a register built in the reset circuit via the data input / output terminals D0 to D7 of the CPU 304, or set a predetermined value to a predetermined input terminal of the reset circuit. This is performed by inputting a level signal (a signal corresponding to a set value).
<First Modification of Reset Circuit>
図110(a)は、図109(c)に示すリセット回路の第1変形例を示した図である。この例では、リセット回路に内蔵された第一WDT314aとは別に、CPU304にも第二WDT314bを内蔵している。そして、CPU304は、リセット信号入力端子XSRSTに入力するリセット信号によってシステムリセット(外部リセット)を行うか、内蔵する第二WDT314bのタイムアウトによってシステムリセット(内部リセット)を行うか、の選択が可能なレジスタを備えている。
<リセット回路の第2変形例>
FIG. 110A shows a first modification of the reset circuit shown in FIG. 109C. In this example, apart from the first WDT 314a built in the reset circuit, the CPU 304 also incorporates a second WDT 314b. The CPU 304 can select whether a system reset (external reset) is performed by a reset signal input to the reset signal input terminal XSRST or a system reset (internal reset) is performed by a timeout of the built-in second WDT 314b. It has.
<Second Modification of Reset Circuit>
同図(b)は、図109(c)に示すリセット回路の第2変形例を示した図である。この例では、CPU304が、リセット回路に内蔵していたランダム遅延回路317を内蔵しているとともに、リセット信号出力端子XRSTOを備えている。そして、CPU304は、外部リセットに基づいてリセット信号出力端子XRSTOからリセット信号を出力するか、内部リセットに基づいてリセット信号出力端子XRSTOからリセット信号を出力するか、の選択が可能なレジスタを備えている。また、CPU304は、リセット信号出力端子XRSTOから出力するリセット信号に、ランダム遅延回路317が選択する遅延時間を付与するか否かの選択が可能なレジスタも備えており、また、外部リセットに基づくリセット信号の出力タイミングを遅延させるための遅延時間と、内部リセットに基づくリセット信号の出力タイミングを遅延させるための遅延時間を個別に設定可能に構成している。
<リセット回路の第3変形例>
FIG. 10B is a diagram showing a second modification of the reset circuit shown in FIG. In this example, the CPU 304 has a random delay circuit 317 built in the reset circuit and a reset signal output terminal XRSTO. The CPU 304 includes a register that can select whether to output a reset signal from the reset signal output terminal XRSTO based on an external reset or to output a reset signal from the reset signal output terminal XRSTO based on an internal reset. Yes. The CPU 304 also includes a register capable of selecting whether or not to add the delay time selected by the random delay circuit 317 to the reset signal output from the reset signal output terminal XRSTO. The delay time for delaying the output timing of the signal and the delay time for delaying the output timing of the reset signal based on the internal reset can be individually set.
<Third Modification of Reset Circuit>
図111(a)は、図109(c)に示すリセット回路の第3変形例を示した図である。この例では、電圧監視回路338から出力される低電圧信号の出力タイミングを遅延させる遅延時間を設定するための第1ランダム遅延回路317aと、WDTが出力するWDT起動信号の出力タイミングを遅延させる遅延時間を設定するための第2ランダム遅延回路317bと、を別に設けている。すなわち、この例では、CPU304を、(1)電圧監視回路338が出力する低電圧信号に、第1ランダム遅延回路317aで選択した遅延時間だけ出力タイミングを遅延させた信号に基づいてシステムリセット、(2)WDT314が出力するWDT起動信号に、第2ランダム遅延回路317bで選択した遅延時間だけ出力タイミングを遅延させた信号に基づいてシステムリセット、(3)WDT314が出力するWDT起動信号(遅延時間なし)に基づいてシステムリセット、の3つの状態のいずれかをCPU304が選択可能に構成している。また、低電圧信号やWDT起動信号の出力タイミングを遅延させるための各々の遅延時間を第1ランダム遅延回路317a、第2ランダム遅延回路317bによって個別に設定可能に構成している。これらの選択や設定、WDT314のスタートやリセットは、例えば、CPU304のデータ入出力端子D0〜D7を介してリセット回路に内蔵したレジスタに設定値を書き込んだり、リセット回路の所定の入力端子に所定のレベルの信号(設定値に対応する信号)を入力したりすることで行われる。
<リセット信号出力端子の接続の一例>
FIG. 111 (a) is a diagram showing a third modification of the reset circuit shown in FIG. 109 (c). In this example, the first random delay circuit 317a for setting the delay time for delaying the output timing of the low voltage signal output from the voltage monitoring circuit 338, and the delay for delaying the output timing of the WDT activation signal output by the WDT. A second random delay circuit 317b for setting the time is provided separately. That is, in this example, the CPU 304 performs (1) system reset based on a signal obtained by delaying the output timing by the delay time selected by the first random delay circuit 317a to the low voltage signal output from the voltage monitoring circuit 338. 2) System reset based on a signal obtained by delaying the output timing by the delay time selected by the second random delay circuit 317b to the WDT activation signal output by the WDT 314. (3) WDT activation signal output by the WDT 314 (no delay time) ) Based on the system reset so that the CPU 304 can select one of the three states. Each delay time for delaying the output timing of the low voltage signal and the WDT activation signal can be individually set by the first random delay circuit 317a and the second random delay circuit 317b. These selections and settings, WDT 314 start and reset, for example, write a set value to a register built in the reset circuit via the data input / output terminals D0 to D7 of the CPU 304, or set a predetermined value to a predetermined input terminal of the reset circuit. This is performed by inputting a level signal (a signal corresponding to a set value).
<Example of reset signal output terminal connection>
図111(b)は、CPU304に接続される各種ICの一部を示した図である。この例では、CPU304は、リセットに関連する端子として、同図(a)に示す電圧監視回路338が出力する低電圧信号に基づいて生成されるリセット信号が入力されるリセット信号入力端子XSRST1と、同図(a)に示すWDT314が出力するWDT起動信号に基づいて生成されるリセット信号が入力されるリセット信号入力端子XSRST2と、リセット信号を出力するためのリセット信号出力端子XRSTOの3つの端子を備える。 FIG. 111 (b) is a diagram showing a part of various ICs connected to the CPU 304. In this example, the CPU 304 has a reset signal input terminal XSRST1 to which a reset signal generated based on a low voltage signal output from the voltage monitoring circuit 338 shown in FIG. The three terminals of the reset signal input terminal XSRST2 to which a reset signal generated based on the WDT activation signal output by the WDT 314 shown in FIG. Prepare.
図9を用いて説明したように、CPU304は、リセット信号入力端子XSRST1(またはリセット信号入力端子XSRST2)に所定期間(例えば、システムクロックの4周期分の期間)以上のLレベルの信号が入力された後に、当該入力端子にHレベルの信号が入力された場合にシステムリセット(初期化)される。 As described with reference to FIG. 9, the CPU 304 receives an L level signal that is equal to or longer than a predetermined period (for example, a period corresponding to four cycles of the system clock) at the reset signal input terminal XSRST1 (or the reset signal input terminal XSRST2). After that, when an H level signal is input to the input terminal, the system is reset (initialized).
また、リセット信号出力端子XRSTOには、複数(この例では4つ)のIC11〜IC14の入力端子と、他の回路の入力端子が接続されている。ここで、IC11〜IC14や他の回路としては、例えば、アドレスデコーダやフリップフロップ等のロジックIC、図4に示される各種回路・IC・装置(例えば、乱数値生成回路、起動信号出力回路、駆動回路、音源IC、センサ回路、遮蔽装置、装飾図柄表示装置)を適用することができる。また、IC11〜IC14や他の回路の入力端子としては、回路全体を初期化するためのリセット信号が入力されるリセット端子や、回路の一部を初期化するための信号が入力されるCLR端子などを適用することができる。
<リセット信号出力端子の接続の第1変形例>
The reset signal output terminal XRSTO is connected to input terminals of a plurality (four in this example) of IC11 to IC14 and input terminals of other circuits. Here, as IC11 to IC14 and other circuits, for example, a logic IC such as an address decoder and a flip-flop, various circuits / ICs / devices shown in FIG. Circuit, sound source IC, sensor circuit, shielding device, decorative design display device) can be applied. In addition, as input terminals of IC11 to IC14 and other circuits, a reset terminal for inputting a reset signal for initializing the entire circuit, or a CLR terminal for inputting a signal for initializing a part of the circuit Etc. can be applied.
<First Modification of Connection of Reset Signal Output Terminal>
図112は、図111(b)に示すリセット信号出力端子XRSTOの接続の第1変形例を示した図である。この例では、CPU304は、上述のリセット信号出力端子XRSTOをIC11の入力端子9に接続することに加えて、8本のデータ信号端子D0〜D7を、IC11のデータ信号入力端子1〜入力端子8の各々に接続している。また、IC11は、データ信号入力端子1〜入力端子8の各々に対応する出力端子1〜8を備えており、これらの出力端子1〜8を、図示しない第1副制御部400のCPU404の8本のデータ信号入力端子に接続している。すなわち、CPU304のデータ信号線が、IC11を介して第1副制御部400のCPU404に入力されており、CPU304と第1副制御部400のCPU404は、IC11を介して通信可能に構成されている。なお、CPU304とCPU404を、IC11に加えて(または替えて)、上述のIC12〜IC14の一部または全てを介して通信可能に構成してもよい。また、CPU304とCPU404を、これらのIC11〜IC14に加えて(または替えて)、中継基板を介して通信可能に構成してもよい。
<リセット信号出力端子の接続の第2変形例>
FIG. 112 is a diagram showing a first modification of the connection of the reset signal output terminal XRSTO shown in FIG. 111 (b). In this example, in addition to connecting the reset signal output terminal XRSTO to the input terminal 9 of the IC 11, the CPU 304 includes eight data signal terminals D 0 to D 7, and the data signal input terminal 1 to the input terminal 8 of the IC 11. Connected to each of. The IC 11 includes output terminals 1 to 8 corresponding to the data signal input terminals 1 to 8, and these output terminals 1 to 8 are connected to the CPU 404 of the first sub-control unit 400 (not shown). It is connected to the data signal input terminal. That is, the data signal line of the CPU 304 is input to the CPU 404 of the first sub control unit 400 via the IC 11, and the CPU 304 and the CPU 404 of the first sub control unit 400 are configured to be able to communicate via the IC 11. . Note that the CPU 304 and the CPU 404 may be configured to be communicable via a part or all of the above-described IC12 to IC14 in addition to (or instead of) the IC11. Further, the CPU 304 and the CPU 404 may be configured to be communicable via a relay board in addition to (or instead of) these ICs 11 to 14.
<Second Modification of Connection of Reset Signal Output Terminal>
図113は、図4を用いて説明した基本回路302と、この基本回路302に接続される各種ICの一部を示した図である。なお、ここでは、主制御部300の基本回路302について説明するが、主制御部300の基本回路302に替えて(または、加えて)第1副制御部400の基本回路402、第2副制御部500の基本回路502、その他の制御部(例えば、払出制御部600)の基本回路に相当する回路に適用することもできる。 FIG. 113 is a diagram illustrating the basic circuit 302 described with reference to FIG. 4 and a part of various ICs connected to the basic circuit 302. Although the basic circuit 302 of the main control unit 300 will be described here, the basic circuit 402 and the second sub control of the first sub control unit 400 are replaced with (or in addition to) the basic circuit 302 of the main control unit 300. The present invention can also be applied to the basic circuit 502 of the unit 500 and a circuit corresponding to the basic circuit of another control unit (for example, the payout control unit 600).
基本回路302は、リセットに関連する端子として、上述のリセット信号入力端子XSRSTとリセット信号出力端子XRSTOの2つの端子を備える。リセット信号入力端子XSRSTには、IC01(例えば、上述のリセット回路や電源監視回路)の出力端子が接続されており、図9を用いて説明したように、基本回路302のCPU304は、リセット信号入力端子XSRSTに所定期間(例えば、システムクロックの4周期分の期間)以上のLレベルの信号が入力された後にHレベルの信号が入力された場合にシステムリセット(初期化)される。 The basic circuit 302 includes two terminals, the reset signal input terminal XSRST and the reset signal output terminal XRSTO described above, as terminals related to reset. The reset signal input terminal XSRST is connected to the output terminal of IC01 (for example, the above-described reset circuit or power supply monitoring circuit). As described with reference to FIG. 9, the CPU 304 of the basic circuit 302 receives the reset signal input. The system is reset (initialized) when an H-level signal is input after an L-level signal having been input for a predetermined period (for example, a period of four cycles of the system clock) is input to the terminal XSRST.
また、リセット信号出力端子XRSTOには、複数(この例では4つ)のIC11〜IC14の入力端子と、他の回路の入力端子が接続されている。ここで、IC11〜IC14や他の回路としては、例えば、アドレスデコーダやフリップフロップ等のロジックIC、図4に示される各種回路・IC・装置(例えば、乱数値生成回路、起動信号出力回路、駆動回路、音源IC、センサ回路、遮蔽装置、装飾図柄表示装置)を適用することができる。また、IC11〜IC14や他の回路の入力端子としては、回路全体を初期化するためのリセット信号が入力されるリセット端子や、回路の一部を初期化するための信号が入力されるCLR端子などを適用することができる。
<固定延長時間とランダム延長時間>
The reset signal output terminal XRSTO is connected to input terminals of a plurality (four in this example) of IC11 to IC14 and input terminals of other circuits. Here, as IC11 to IC14 and other circuits, for example, a logic IC such as an address decoder and a flip-flop, various circuits / ICs / devices shown in FIG. Circuit, sound source IC, sensor circuit, shielding device, decorative design display device) can be applied. In addition, as input terminals of IC11 to IC14 and other circuits, a reset terminal for inputting a reset signal for initializing the entire circuit, or a CLR terminal for inputting a signal for initializing a part of the circuit Etc. can be applied.
<Fixed extension time and random extension time>
次に、図114を用いて、システムリセット後に基本回路302によって実行される固定延長処理とランダム延長処理の時間設定について説明する。図9を用いて説明したように、CPU304は、セキュリティモードにおいてセキュリティチェック処理→固定延長処理→ランダム延長処理の順番で各々の処理を実行した後、ユーザモードに移行し、遊技制御用プログラムを実行するように構成されている。本実施形態では、固定延長処理の処理時間(固定延長時間)とランダム延長処理の処理時間(ランダム延長時間)の各々をCPU304に予め設定することによって、セキュリティモード(=セキュリティチェック処理+固定延長処理+ランダム延長処理)の時間を、設定した時間分だけ延長することが可能である。 Next, the time setting for the fixed extension process and the random extension process executed by the basic circuit 302 after the system reset will be described with reference to FIG. As described with reference to FIG. 9, the CPU 304 executes each processing in the order of security check processing → fixed extension processing → random extension processing in the security mode, then shifts to the user mode and executes the game control program. Is configured to do. In this embodiment, the security mode (= security check process + fixed extension process) is set in advance in the CPU 304 for each of the fixed extension process time (fixed extension time) and the random extension process time (random extension time). + Random extension process) can be extended by the set time.
図114(a)は固定延長時間の設定例を示したものである。この例では、CPU304の所定記憶領域に、3ビット長の設定値データ000B〜111Bのいずれかを予め設定することによって、同図に示す時間だけ固定延長時間を延長できるように構成されている。なお、この例では、設定値データが111Bの場合を除き、固定延長時間は、「2の22乗×(1/SCLK)×設定値データ」の計算式によって算出される。 FIG. 114A shows an example of setting the fixed extension time. In this example, the fixed extension time can be extended by the time shown in the figure by presetting any one of the 3-bit set value data 000B to 111B in a predetermined storage area of the CPU 304. In this example, except for the case where the set value data is 111B, the fixed extension time is calculated by a calculation formula of “2 to the 22nd power × (1 / SCLK) × set value data”.
例えば、設定値データを000Bに設定した場合には、システムクロックSCLKの周波数とは無関係に固定延長時間が0(延長しない)に設定され、設定値データを001Bに設定した場合、システムクロックSCLKの周波数が8MHzのときは固定延長時間が約525ms(=2の22乗×(1/8MHz)×1)に設定され、システムクロックSCLKの周波数が10MHzのときは固定延長時間が約420ms(=2の22乗×(1/10MHz)×1)に設定され、システムクロックSCLKの周波数が12MHzのときは固定延長時間が約350ms(=2の22乗×(1/12MHz)×1)に設定される。 For example, when the set value data is set to 000B, the fixed extension time is set to 0 (not extended) regardless of the frequency of the system clock SCLK, and when the set value data is set to 001B, the system clock SCLK When the frequency is 8 MHz, the fixed extension time is set to about 525 ms (= 2 to the power of 22 × (1/8 MHz) × 1), and when the frequency of the system clock SCLK is 10 MHz, the fixed extension time is about 420 ms (= 2). 22 × (1/10 MHz) × 1), and when the frequency of the system clock SCLK is 12 MHz, the fixed extension time is set to about 350 ms (= 2 to the 22nd power × (1/12 MHz) × 1). The
なお、この例では、固定延長時間をシステムクロックSCLKに基づいて算出する例を示したが、例えば、他の設定値(例えば、後述するランダム延長時間)などに基づいて算出してもよいし、システムクロックSCLKと他の設定値の両方に基づいて算出してもよい。また、システムクロックSCLKと固定延長時間を反比例の関係にする例を示したが、両者が比例関係にあってもよい。また、設定値データが111Bの場合には、システムクロックSCLKの周波数とは無関係に固定延長時間を共通の約30000msに設定する例を示したが、設定値データが111Bの場合も上述の計算式によって算出してもよいし、最大値を設定してもよい。また、設定値データのデータ長は3ビットに限定されず、延長時間の種類を増やしてもよい。また、固定延長時間に0を含めずに0より大きい時間に限定してもよい(CPU304が必ず固定延長処理を実行するものとしてもよい)。また、内部リセットと外部リセットで、異なる固定延長時間の設定を可能に構成してもよい。 In this example, the fixed extension time is calculated based on the system clock SCLK. However, for example, the fixed extension time may be calculated based on another set value (for example, a random extension time described later). The calculation may be based on both the system clock SCLK and other set values. Further, although an example in which the system clock SCLK and the fixed extension time are in an inversely proportional relationship has been shown, both may be in a proportional relationship. Further, in the case where the set value data is 111B, an example in which the fixed extension time is set to about 30000 ms in common regardless of the frequency of the system clock SCLK is shown. Or a maximum value may be set. Further, the data length of the set value data is not limited to 3 bits, and the type of extension time may be increased. Further, the fixed extension time may be limited to a time longer than 0 without including 0 (the CPU 304 may always execute the fixed extension process). Further, different fixed extension times may be set for the internal reset and the external reset.
図114(b)はランダム延長時間の設定例を示したものである。この例では、CPU304の所定記憶領域に、2ビット長の設定値データ00B〜11Bのいずれかを予め設定することによって、同図に示す時間だけランダム延長時間を延長することができるように構成されている。例えば、設定値データを00Bに設定した場合、システムクロックSCLKの周波数とは無関係にランダム延長時間が0(延長しない)に設定され、設定値データを01Bに設定した場合、システムクロックSCLKの周波数が8MHzのときはランダム延長時間が0〜0.5msのランダムな時間(CPU304のコアによってランダムに選択された時間)に設定され、システムクロックSCLKの周波数が10MHzのときはランダム延長時間が0〜0.4msのランダムな時間に設定され、システムクロックSCLKの周波数が12MHzのときはランダム延長時間が0〜0.3msのランダムな時間に設定される。 FIG. 114 (b) shows an example of setting the random extension time. In this example, the random extension time can be extended by the time shown in the figure by presetting any of the 2-bit length set value data 00B to 11B in a predetermined storage area of the CPU 304. ing. For example, when the set value data is set to 00B, the random extension time is set to 0 (not extended) regardless of the frequency of the system clock SCLK, and when the set value data is set to 01B, the frequency of the system clock SCLK is When the frequency is 8 MHz, the random extension time is set to a random time of 0 to 0.5 ms (a time randomly selected by the core of the CPU 304). When the frequency of the system clock SCLK is 10 MHz, the random extension time is 0 to 0. When the frequency of the system clock SCLK is 12 MHz, the random extension time is set to a random time of 0 to 0.3 ms.
なお、この例では、ランダム延長時間をシステムクロックSCLKによって変化させる例を示したが、異なるシステムクロックSCLK間で同一に設定してもよい。また、他の設定値(例えば、上述の固定延長時間)などに基づいて算出してもよいし、システムクロックSCLKと他の設定値の両方に基づいて算出してもよい。また、設定値データのデータ長は2ビットに限定されず、延長時間の種類を増やしてもよい。また、ランダム延長時間に0を含めずに0より大きい時間に限定してもよい(CPU304が必ずランダム延長処理を実行するものとしてもよい)。また、内部リセットと外部リセットで、異なるランダム延長時間の設定を可能に構成してもよい。また、固定延長時間とランダム延長時間の一方について基準クロックを可変とし、他方については基準クロックを固定に構成してもよい。
<WDTタイムアウト時間>
In this example, an example in which the random extension time is changed by the system clock SCLK is shown, but the same may be set between different system clocks SCLK. Further, it may be calculated based on other set values (for example, the above-described fixed extension time) or may be calculated based on both the system clock SCLK and other set values. Further, the data length of the set value data is not limited to 2 bits, and the type of extension time may be increased. Further, the random extension time may be limited to a time longer than 0 without including 0 (the CPU 304 may always execute the random extension process). Further, different random extension times may be set for the internal reset and the external reset. Further, the reference clock may be variable for one of the fixed extension time and the random extension time, and the reference clock may be fixed for the other.
<WDT timeout period>
次に、図115を用いて、WDT314のタイムアウト時間設定について説明する。なお、同図はWDT314のタイムアウト時間の設定例を示したものである。この例では、CPU304の所定記憶領域に、4ビット長の設定値データ0000B〜1000Bのいずれかを予め設定することによって、同図に示す時間だけタイムアウト時間を設定できるように構成されている。例えば、設定値データを0000Bに設定した場合には、システムクロックSCLKの周波数とは無関係にタイムアウト時間が禁止(WDTを使用しない)に設定され、設定値データを0001Bに設定した場合、システムクロックSCLKの周波数が8MHzのときはタイムアウト時間が約65msに設定され、システムクロックSCLKの周波数が10MHzのときはタイムアウト時間が約52msに設定され、システムクロックSCLKの周波数が12MHzのときはタイムアウト時間が約44msに設定される。 Next, the timeout time setting of the WDT 314 will be described with reference to FIG. This figure shows an example of setting the timeout time of WDT 314. In this example, the time-out time can be set for the time shown in the figure by presetting any one of 4-bit set value data 0000B to 1000B in a predetermined storage area of the CPU 304. For example, when the set value data is set to 0000B, the timeout time is set to be prohibited (WDT is not used) regardless of the frequency of the system clock SCLK, and when the set value data is set to 0001B, the system clock SCLK is set. When the frequency of the clock is 8 MHz, the timeout time is set to about 65 ms, when the frequency of the system clock SCLK is 10 MHz, the timeout time is set to about 52 ms, and when the frequency of the system clock SCLK is 12 MHz, the timeout time is about 44 ms. Set to
なお、この例では、タイムアウト時間をシステムクロックSCLKによって変化させる例を示したが、異なるシステムクロックSCLK間で同一に設定してもよい。また、他の設定値(例えば、上述の固定延長時間やランダム延長時間)などに基づいて算出してもよいし、システムクロックSCLKと他の設定値の両方に基づいて算出してもよい。また、設定値データのデータ長は4ビットに限定されず、タイムアウト時間の種類を増やしてもよい。また、タイムアウト時間が上述の固定延長時間よりも小さくなるように設定しているが、タイムアウト時間が上述の固定延長時間よりも大きくなるように設定してもよい。
<リセット出力信号とセキュリティモード>
In this example, the timeout time is changed according to the system clock SCLK. However, the same time may be set between different system clocks SCLK. Further, it may be calculated based on other set values (for example, the above-described fixed extension time or random extension time), or may be calculated based on both the system clock SCLK and other set values. Further, the data length of the set value data is not limited to 4 bits, and the types of timeout time may be increased. Further, although the timeout time is set to be smaller than the above-described fixed extension time, the timeout time may be set to be longer than the above-described fixed extension time.
<Reset output signal and security mode>
次に、上述のリセット出力端子XSRSTOの出力信号の変化と、セキュリティモードの状態変化との関係について説明する。図116(a)に示す例は、上記図9と同一の状態を示しており、リセット入力端子XSRSTに所定期間以上のLレベルの信号が入力された後にHレベルの信号が入力されたことによってセキュリティモードに移行している。そして、このセキュリティモードにおいて、最初にセキュリティチェック処理が実行され、次に、上述の固定延長時間の設定に応じた期間の経過を待つ固定延長処理が実行され、当該固定延長処理が終了したときにリセット出力端子XRSTOからHレベルの信号を出力し、その後、上述のランダム延長時間の設定に応じたランダムな期間の経過を待つランダム延長処理が終了した場合にユーザモードに移行し、遊技制御用プログラムの実行が開始されている。すなわち、この例では、固定延長処理の終了タイミング(=ランダム延長処理の開始タイミング)と、リセット出力端子XRSTOからHレベルの信号を出力するタイミングを一致させている。 Next, the relationship between the change in the output signal of the reset output terminal XSRSTO and the change in the security mode state will be described. The example shown in FIG. 116 (a) shows the same state as FIG. 9 described above, and when an H level signal is input to the reset input terminal XSRST after an L level signal of a predetermined period or longer is input. Transition to security mode. Then, in this security mode, the security check process is first executed, then the fixed extension process waiting for the elapse of a period according to the above-described setting of the fixed extension time is executed, and when the fixed extension process is completed A game control program that shifts to a user mode when a random extension process that outputs an H level signal from the reset output terminal XRSTO and then waits for the passage of a random period according to the setting of the above-described random extension time is completed. Execution has started. That is, in this example, the end timing of the fixed extension processing (= start timing of the random extension processing) is matched with the timing of outputting an H level signal from the reset output terminal XRSTO.
また、図116(b)に示す例は、固定延長処理が終了した後、所定時間が経過したときにリセット出力端子XRSTOからHレベルの信号を出力し、その後、ランダム延長処理が終了した場合にユーザモードに移行し、遊技制御用プログラムの実行が開始されている。すなわち、この例では、固定延長処理が終了した後、ランダム延長処理が終了してユーザモードに移行する前(遊技制御用プログラムの実行が開始される前)にリセット出力端子XRSTOからHレベルの信号を出力している。なお、所定時間(固定延長処理が終了してから、リセット出力端子XRSTOからHレベルの信号を出力するまでの時間)は、固定時間でもよいし可変時間でもよい。また、固定時間を採用した場合には、例えば、固定延長処理が終了してから、システムクロックSCLKが所定クロック(例えば、4クロック)経過した後のシステムクロックSCLK立上がりエッジ(または、立下りエッジ)までの時間を、所定時間に設定してもよい。また、可変時間を採用した場合には、システムリセットの度に所定時間をランダムな時間に変化させてもよい。
<ランダム延長時間を変化させる場合>
In the example shown in FIG. 116B, when a predetermined time has elapsed after the fixed extension process is completed, an H level signal is output from the reset output terminal XRSTO, and then the random extension process is completed. Transition to the user mode, the execution of the game control program is started. That is, in this example, after the fixed extension process is finished, before the random extension process is finished and before the transition to the user mode (before the execution of the game control program is started), an H level signal is output from the reset output terminal XRSTO. Is output. The predetermined time (the time from the end of the fixed extension process to the output of the H level signal from the reset output terminal XRSTO) may be a fixed time or a variable time. Further, when the fixed time is adopted, for example, the rising edge (or falling edge) of the system clock SCLK after a predetermined clock (for example, 4 clocks) has elapsed since the end of the fixed extension process. The time until may be set to a predetermined time. When variable time is adopted, the predetermined time may be changed to a random time each time the system is reset.
<When changing the random extension time>
図117(a)、(b)は、固定延長処理の終了タイミング(=ランダム延長処理の開始タイミング)と、リセット出力端子XRSTOからHレベルの信号を出力するタイミングが一致するが、ランダム延長時間が異なる例を示した図である。すなわち、同図(a)と(b)では、固定延長時間の設定値が同一(例えば、設定値=001B、SCLK=約8MHz)であるとともに、ランダム延長時間の設定値も同一(例えば、設定値=01B、SCLK=8MHz)であるが、同図(a)では、ランダム延長時間の数値範囲(例えば、0〜0.5ms)から時間A1(例えば、0.2ms)が選択されている一方で、同図(b)では、ランダム延長時間の数値範囲(例えば、0〜0.5ms)から、時間A1よりも長い時間A2(例えば、0.3ms)が選択されている。なお、この例では、ランダム延長時間の数値範囲として0〜0.5msを選択しているため、ランダム延長時間が0(ランダム延長時間無し)になる場合も含まれている。 117 (a) and 117 (b) show that the end timing of the fixed extension processing (= start timing of the random extension processing) coincides with the timing of outputting the H level signal from the reset output terminal XRSTO. It is the figure which showed the different example. That is, in FIGS. 9A and 9B, the set value of the fixed extension time is the same (for example, set value = 001B, SCLK = about 8 MHz), and the set value of the random extension time is also the same (for example, the set value). (Value = 01B, SCLK = 8 MHz) In FIG. 9A, the time A1 (for example, 0.2 ms) is selected from the numerical range of the random extension time (for example, 0 to 0.5 ms). In FIG. 5B, a time A2 (for example, 0.3 ms) longer than the time A1 is selected from the numerical range (for example, 0 to 0.5 ms) of the random extension time. In this example, since 0 to 0.5 ms is selected as the numerical range of the random extension time, the case where the random extension time becomes 0 (no random extension time) is also included.
このように、固定延長時間やランダム延長時間の設定が同じであってもランダム延長時間(A1、A2)を変化させることによって、リセット出力端子XRSTOのHレベル信号出力から、ユーザモードが開始されるまでの時間(A1、A2)を、システムリセットの度に変化させることができる。このため、リセット信号出力端子XRSTOに接続されたIC11〜IC14や他の回路にHレベルの信号を出力してから(IC11〜IC14や他の回路を起動したり初期化してから)、遊技制御用プログラムが実行されるまでの時間を変化させることができ、CPU304の各端子からの出力信号やCPU304の周辺ICの動作などを手掛かりにして遊技制御用プログラムの実行タイミング(例えば、当否判定の抽選タイミング)を把握するような不正行為を未然に防止できる場合がある。なお、この例では、ランダム延長時間の設定値を同一にしたが、両者のランダム延長時間の設定値を異ならせてもよい。
<固定延長時間を変化させる場合>
As described above, the user mode is started from the H level signal output of the reset output terminal XRSTO by changing the random extension time (A1, A2) even if the setting of the fixed extension time and the random extension time is the same. The time until (A1, A2) can be changed at every system reset. For this reason, after outputting an H level signal to IC11 to IC14 or other circuits connected to the reset signal output terminal XRSTO (after starting or initializing IC11 to IC14 or other circuits), for game control The time until the program is executed can be changed, and the execution timing of the game control program (for example, lottery timing for determination of success / failure) based on the output signals from the respective terminals of the CPU 304 and the operation of peripheral ICs of the CPU 304 ) Can be prevented in advance. In this example, the setting value of the random extension time is the same, but the setting value of the random extension time may be different.
<When changing the fixed extension time>
図117(c)、(d)は、固定延長処理の終了タイミング(=ランダム延長処理の開始タイミング)と、リセット出力端子XRSTOからHレベルの信号を出力するタイミングが一致するが、固定延長時間が異なる例を示した図である。すなわち、同図(c)と(d)では、ランダム延長時間の設定値データは同一(例えば、設定値=01B、SCLK=8MHz)であり、同図(a)および(b)でランダム延長時間の数値範囲(例えば、0〜0.5ms)から同一の時間A1(例えば、0.2ms)が設定される一方で、同図(c)では、固定延長時間を時間B1(例えば、設定値=001B、SCLK=8MHz、約525ms)、同図(d)では、固定延長時間を時間B1よりも長い時間B2(例えば、設定値=010B、SCLK=8MHz、約1050ms)に設定している(B1<B2)。 117 (c) and 117 (d), the end timing of the fixed extension process (= start timing of the random extension process) and the timing of outputting the H level signal from the reset output terminal XRSTO coincide, but the fixed extension time It is the figure which showed the different example. That is, the setting value data of the random extension time is the same (for example, setting value = 01B, SCLK = 8 MHz) in FIGS. 10C and 10D, and the random extension time is shown in FIGS. While the same time A1 (for example, 0.2 ms) is set from a numerical range of (for example, 0 to 0.5 ms), in FIG. 5C, the fixed extension time is set to the time B1 (for example, set value = (001B, SCLK = 8 MHz, about 525 ms), in FIG. 4D, the fixed extension time is set to a time B2 longer than the time B1 (for example, set value = 010B, SCLK = 8 MHz, about 1050 ms) (B1). <B2).
このように、ランダム延長時間(A1)が同じであっても固定延長時間(B1、B2)を変化させることによって、固定延長処理が開始されてからユーザモードが開始されるまでの時間(C1、C2)を変化させることができる。このため、CPU304のシステムリセットから遊技制御用プログラムが実行されるまでの時間をシステムリセットの度に変化させることができ、CPU304のリセット入力端子XSRSTに入力するリセット信号などを手掛かりにして遊技制御用プログラムの実行タイミング(例えば、当否判定の抽選タイミング)を把握するような不正行為を未然に防止できる場合がある。なお、図109では、固定延長時間とランダム延長時間の一方を異ならせる例を示したが、両者が異なるようにすれば、遊技制御用プログラムの実行タイミングを把握するような不正行為を、より確実に防止できる場合がある。
<固定延長処理を契機にリセット出力信号を変化させる場合>
Thus, by changing the fixed extension time (B1, B2) even if the random extension time (A1) is the same, the time from the start of the fixed extension process to the start of the user mode (C1, C2) can be varied. Therefore, the time from the system reset of the CPU 304 to the execution of the game control program can be changed each time the system is reset. In some cases, it is possible to prevent fraudulent acts such as grasping the execution timing of the program (for example, the lottery timing for determination of success / failure). Note that FIG. 109 shows an example in which one of the fixed extension time and the random extension time is made different. However, if both are made different, an illegal act of grasping the execution timing of the game control program is more reliably performed. Can be prevented.
<When changing the reset output signal triggered by fixed extension processing>
図118は、固定延長処理を契機にリセット出力信号を変化させる例を示した図である。この例では、固定延長処理の開始タイミング(=セキュリティチェック処理の終了タイミング)と、リセット出力端子XRSTOからHレベルの信号を出力するタイミングを一致させている。なお、固定延長処理を契機にリセット出力信号を変化させればよいため、例えば、固定延長処理の開始前(例えば、固定延長処理の開始タイミングから200ms前)にリセット出力信号を出力してもよいし、固定延長時間の設定値に応じて遅延時間を決定し、当該遅延時間の経過を待ってからリセット出力信号を出力してもよい。また、内部リセット(内蔵するWDTのタイムアウトに基づくリセット)か、外部リセット(XSRST端子への信号入力に基づくリセット)かを判別し、当該リセットの種類に応じてリセット出力信号の出力タイミングを決定してもよい。 FIG. 118 is a diagram illustrating an example in which the reset output signal is changed in response to the fixed extension process. In this example, the start timing of the fixed extension process (= end timing of the security check process) and the timing of outputting an H level signal from the reset output terminal XRSTO are matched. Since the reset output signal may be changed in response to the fixed extension process, for example, the reset output signal may be output before the start of the fixed extension process (for example, 200 ms before the start timing of the fixed extension process). The delay time may be determined according to the set value of the fixed extension time, and the reset output signal may be output after the delay time has elapsed. Also, it determines whether it is an internal reset (reset based on a built-in WDT timeout) or an external reset (reset based on a signal input to the XSRST terminal), and determines the output timing of the reset output signal according to the type of the reset. May be.
また、過去のリセットの種類を記憶する記憶手段を備え、当該記憶手段に記憶されたリセットの種類の履歴に基づいてリセット出力信号の出力タイミングを変化させてもよく、例えば、内部リセットが複数回連続した場合には、リセット出力信号の出力タイミングを前回よりも遅らせたり早めたりしてもよい。
<他の出力信号とセキュリティモード>
Further, a storage unit that stores past reset types may be provided, and the output timing of the reset output signal may be changed based on the history of reset types stored in the storage unit. If it is continuous, the output timing of the reset output signal may be delayed or advanced from the previous time.
<Other output signals and security mode>
図119は、CPU304から出力されるアドレス信号、データ信号、制御信号、およびリセット出力信号の変化と、セキュリティモードの状態変化を示した図である。この例では、CPU304は、固定延長処理が終了したとき(ランダム延長処理を開始したとき)にリセット出力端子XRSTOからHレベルの信号を出力するとともに、同じタイミングで外部のIC(例えば、ROM306、RAM308)との間でデータのリード(またはライト)を開始している。このため、この例では、リセット出力端子XRSTOからHレベルの信号を出力すると同時に、アドレス信号A0〜A15端子から16ビットのアドレス情報(この例では、0000h)の出力を開始し、制御信号XM1端子からアドレス情報のラッチタイミング(外部のICがアドレス情報を取り込むタイミング)を示す制御信号を出力し、続けて、データ信号D0〜D7端子から8ビットのデータ情報(この例では、オペコード)の出力を開始し、制御信号XM1端子からデータ情報のラッチタイミング(外部のICがデータ情報を取り込むタイミング)を示す制御信号を出力している。 FIG. 119 is a diagram illustrating changes in the address signal, data signal, control signal, and reset output signal output from the CPU 304, and changes in the security mode state. In this example, the CPU 304 outputs an H level signal from the reset output terminal XRSTO when the fixed extension process is completed (when the random extension process is started) and at the same timing, an external IC (for example, ROM 306, RAM 308). Data read (or write) has started. Therefore, in this example, at the same time that the H level signal is output from the reset output terminal XRSTO, output of 16-bit address information (0000h in this example) is started from the address signals A0 to A15, and the control signal XM1 terminal A control signal indicating the latch timing of the address information (timing at which the external IC captures the address information) is output, and subsequently, 8-bit data information (opcode in this example) is output from the data signals D0 to D7 terminals. The control signal indicating the latch timing of the data information (the timing at which the external IC captures the data information) is output from the control signal XM1 terminal.
なお、この例では、リセット出力端子XRSTOからHレベルの信号を出力すると同時にアドレス信号と制御信号の出力を開始しているが、例えば、リセット出力よりも前にアドレス信号と制御信号の出力を開始してもよいし、リセット出力よりも後(例えば、セキュリティモードからユーザモードに移行した直後)にアドレス信号と制御信号の出力を開始してもよい。なお、XM1端子から出力する制御信号は、例えば、CPU304のマシンサイクルを示す出力信号でもよいし、メモリ空間やI/O空間へのリクエスト出力信号でもよいし、リードサイクルやライトサイクルを示す出力信号でもよい。 In this example, the output of the address signal and the control signal is started simultaneously with the output of the H level signal from the reset output terminal XRSTO. For example, the output of the address signal and the control signal is started before the reset output. Alternatively, the output of the address signal and the control signal may be started after the reset output (for example, immediately after shifting from the security mode to the user mode). The control signal output from the XM1 terminal may be, for example, an output signal indicating a machine cycle of the CPU 304, a request output signal to a memory space or an I / O space, or an output signal indicating a read cycle or a write cycle. But you can.
図120(a)は外部リセット後の他の出力信号の状態変化を示した図であり、同図(b)は内部リセット後の他の出力信号の状態変化を示した図である。この例では、外部リセットの場合には、ランダム延長処理よりも所定時間A1だけ前に、アドレス信号A0〜A15端子から16ビットのアドレス情報(この例では、0000h)の出力を開始し、制御信号XM1端子からアドレス情報のラッチタイミングを示す制御信号を出力している。一方、内部リセットの場合には、ランダム延長処理よりも所定時間A2(A2>A1)だけ前に、アドレス信号A0〜A15端子から16ビットのアドレス情報(この例では、0000h)の出力を開始し、制御信号XM1端子からアドレス情報のラッチタイミングを示す制御信号を出力している。すなわち、この例では、外部リセットと内部リセットで、アドレス信号A0〜A15端子の信号出力と、制御信号XM1端子の信号出力のタイミングを異ならせている。 FIG. 120A is a diagram showing a change in the state of another output signal after the external reset, and FIG. 120B is a diagram showing a change in the state of another output signal after the internal reset. In this example, in the case of an external reset, output of 16-bit address information (in this example, 0000h) is started from the address signals A0 to A15 by a predetermined time A1 before the random extension process, and the control signal A control signal indicating the latch timing of the address information is output from the XM1 terminal. On the other hand, in the case of an internal reset, output of 16-bit address information (0000h in this example) is started from the address signals A0 to A15 for a predetermined time A2 (A2> A1) before the random extension process. The control signal indicating the latch timing of the address information is output from the control signal XM1 terminal. That is, in this example, the signal output timing of the address signals A0 to A15 and the signal output of the control signal XM1 terminal are different between the external reset and the internal reset.
また、内部リセットの場合には、WDT314のタイムアウト直後に、アドレス信号A0〜A15端子から16ビットのアドレス情報(この例では、E000h)の出力を行うように構成し、外部リセット直後のアドレス情報(例えば、0000h)と異ならせている。なお、内部リセット直後に出力するアドレス情報と、外部リセット直後に出力するアドレス情報を同一に設定してもよい。 In the case of an internal reset, 16-bit address information (E000h in this example) is output from the address signals A0 to A15 immediately after timeout of the WDT 314, and the address information immediately after the external reset ( For example, it is different from 0000h). Note that the address information output immediately after the internal reset and the address information output immediately after the external reset may be set to be the same.
図121(a)は外部リセット後の他の出力信号の状態変化の他の例を示した図であり、同図(b)は内部リセット後の他の出力信号の状態変化の他の例を示した図である。この例では、内部リセットの場合には、外部リセットのリセット解除時間B1よりも長い時間B2の経過を待って、内部リセットを解除するように設定している。なお、本構成と、上記図115を用いて説明した各構成を組み合わせて実現してもよい。
<セキュリティモードの開始タイミング>
FIG. 121 (a) is a diagram showing another example of the state change of another output signal after the external reset, and FIG. 121 (b) is another example of the state change of another output signal after the internal reset. FIG. In this example, in the case of an internal reset, the internal reset is canceled after the elapse of a time B2 longer than the reset cancellation time B1 of the external reset. Note that this configuration and each configuration described with reference to FIG.
<Start timing of security mode>
図122(a)は外部システムリセット後のセキュリティモードの開始タイミングの一例を示した図であり、同図(b)は内部システムリセット後のセキュリティモードの開始タイミングの一例を示した図である。この例では、外部システムリセットの場合には、当該外部システムリセットの要因が発生してから(例えば、リセット入力信号XSRSTの立下りエッジを検出してから)、時間C1(例えば、システムクロックSCLKの4クロック分の時間)が経過した後にセキュリティモードが開始されるように構成している。一方、内部システムリセットの場合には、内部リセットの要因が発生してから(例えば、WDTタイマがタイムアウトしてから)、時間C2(例えば、システムクロックSCLKの1クロック分の時間)が経過した後にセキュリティモードが開始されるように構成している。 FIG. 122 (a) is a diagram showing an example of the security mode start timing after the external system reset, and FIG. 122 (b) is a diagram showing an example of the security mode start timing after the internal system reset. In this example, in the case of an external system reset, after the cause of the external system reset occurs (for example, after the falling edge of the reset input signal XSRST is detected), the time C1 (for example, the system clock SCLK) The security mode is configured to start after a lapse of 4 clocks). On the other hand, in the case of an internal system reset, after the cause of the internal reset occurs (for example, after the WDT timer times out), the time C2 (for example, the time corresponding to one clock of the system clock SCLK) elapses. Security mode is configured to start.
なお、この例では、外部リセットの要因が発生してからセキュリティモードが開始されるまでの時間C1を、内部リセットの要因が発生してからセキュリティモードが開始されるまでの時間C2よりも長くしているが(C1>C2)、外部リセットの要因が発生してからセキュリティモードが開始されるまでの時間C1を、内部リセットの要因が発生してからセキュリティモードが開始されるまでの時間C2よりも短くしてもよい(C1<C2)。 In this example, the time C1 from the occurrence of the external reset factor to the start of the security mode is set longer than the time C2 from the occurrence of the internal reset factor to the start of the security mode. However, (C1> C2), the time C1 from the occurrence of the external reset factor to the start of the security mode is determined from the time C2 from the occurrence of the internal reset factor to the start of the security mode. May be shortened (C1 <C2).
また、上述の例では、セキュリティモードに含まれるランダム延長処理の実行時間(ランダム延長時間)や固定延長処理(固定延長時間)をリセットの要因によらずに自由に設定可能としたが、例えば、外部リセットと内部リセットで、ランダム延長時間の設定用レジスタと固定延長時間の設定用レジスタをそれぞれ一種類だけ備えるように構成し、外部リセットと内部リセットで、ランダム延長時間や固定延長時間を個別に設定することを禁止してもよい(共通の設定だけを許可してもよい)。 In the above example, the execution time of random extension processing (random extension time) and fixed extension processing (fixed extension time) included in the security mode can be freely set regardless of the reset factor. Configured to have only one random extension time setting register and one fixed extension time setting register for external reset and internal reset, and set random extension time and fixed extension time individually for external reset and internal reset. Setting may be prohibited (only common setting may be permitted).
図123は、本発明の基本概念を示した図である。本発明では、第1の事象に基づいて第2の事象を開始するときに、第1の事象が第1の要因に起因する場合と、第1の事象が第2の要因に起因する場合と、で第2の事象を開始するタイミングを異ならせることができる。 FIG. 123 is a diagram showing the basic concept of the present invention. In the present invention, when starting the second event based on the first event, the case where the first event is caused by the first factor and the case where the first event is caused by the second factor The timing for starting the second event can be varied.
例えば、上記図122を用いて説明したセキュリティモードの開始タイミングについて考えると、第1の事象(リセット)に基づいて第2の事象(セキュリティモード)を開始する場合に、第1の事象が第1の要因(外部システムリセット)に起因する場合と、第1の事象が第2の要因(内部システムリセット)に起因する場合と、で第2の事象(セキュリティモード)を開始するタイミングを異ならせることができる。このため、第1の要因(外部システムリセット)が発生してから第2の事象(セキュリティモード)が開始されるまでの時間C1を、第2の要因(内部システムリセット)が発生してから第2の事象(セキュリティモード)が開始されるまでの時間C2よりも長くしたり(C1>C2)、第1の要因(外部システムリセット)が発生してから第2の事象(セキュリティモード)が開始されるまでの時間C1を、第2の要因(内部システムリセット)が発生してから第2の事象(セキュリティモード)が開始されるまでの時間C2よりも短くすることができる。 For example, considering the start timing of the security mode described with reference to FIG. 122 above, when the second event (security mode) is started based on the first event (reset), the first event is the first event. The timing for starting the second event (security mode) differs depending on whether the first event is caused by an external system reset or if the first event is caused by a second factor (internal system reset). Can do. Therefore, the time C1 from the occurrence of the first factor (external system reset) to the start of the second event (security mode) is set to The second event (security mode) starts after the first event (external system reset) occurs or the time C2 is longer than the time C2 until the second event (security mode) starts The time C1 until the second event (internal system reset) occurs can be made shorter than the time C2 until the second event (security mode) is started.
また、セキュリティモードを開始するタイミングを異ならせることができるため、その後に実行されるユーザモードを開始するタイミングも異ならせることも可能となる。例えば、第1の事象が第1の要因に起因する場合と、第1の事象が第2の要因に起因する場合と、でセキュリティモードの実行時間が同じであっても、セキュリティモードを開始するタイミングを異ならせれば、第1の事象が第1の要因に起因する場合と、第1の事象が第2の要因に起因する場合と、でユーザモードを開始するタイミングを異ならせることができる。 Moreover, since the timing which starts security mode can be varied, it is also possible to vary the timing which starts user mode performed after that. For example, the security mode is started even when the execution time of the security mode is the same between the case where the first event is caused by the first factor and the case where the first event is caused by the second factor. If the timing is different, the timing at which the user mode is started can be made different between the case where the first event is caused by the first factor and the case where the first event is caused by the second factor.
また、第1の事象が第1の要因に起因する場合と、第1の事象が第2の要因に起因する場合と、でセキュリティモードを開始するタイミングを異ならせなくても、セキュリティモードの実行時間を異ならせれば、第1の事象が第1の要因に起因する場合と、第1の事象が第2の要因に起因する場合と、でユーザモードを開始するタイミングを異ならせることができる。
<他の実施形態>
Also, the security mode can be executed without changing the timing of starting the security mode between the case where the first event is caused by the first factor and the case where the first event is caused by the second factor. If the times are different, the timing at which the user mode is started can be made different between the case where the first event is caused by the first factor and the case where the first event is caused by the second factor.
<Other embodiments>
次に、他の実施形態に係るパチンコ機について説明する。本実施形態に記載した複数の構成のうち、1つの構成に記載している内容を、他の構成に適用することでより遊技の幅を広げられる場合がある。 Next, a pachinko machine according to another embodiment will be described. In some cases, the contents described in one configuration among a plurality of configurations described in the present embodiment may be applied to other configurations to further broaden the game width.
例えば、図124(a)は、図2を用いて説明した電源基板182、払出基板170、および主基板156の接続例を示した図である。電源基板182は、RAMクリアスイッチ180と、このRAMクリアスイッチ180の操作が検出された場合に、検出信号を出力するための検出信号出力端子と、を備える。電源基板182のCPUは、RAMクリアスイッチ180の操作の有無を定期的に検出し、検出結果(例えば、操作ありの場合にはHレベルの信号、操作なしの場合にはLレベルの信号)を検出信号出力端子から払出基板170に向けて出力する。 For example, FIG. 124A is a diagram illustrating an example of connection of the power supply board 182, the payout board 170, and the main board 156 described with reference to FIG. The power supply board 182 includes a RAM clear switch 180 and a detection signal output terminal for outputting a detection signal when an operation of the RAM clear switch 180 is detected. The CPU of the power supply board 182 periodically detects whether or not the RAM clear switch 180 is operated, and outputs a detection result (for example, an H level signal when there is an operation and an L level signal when there is no operation). Output from the detection signal output terminal toward the dispensing substrate 170.
払出基板170は、電源基板182の検出信号出力端子に接続される検出信号入力端子と、この検出信号入力端子を介して取得したRAMクリアスイッチ180の操作情報を一時的に記憶するためのRAMクリアスイッチ操作情報一時憶手段171(例えば、RAM、CPUのレジスタ、フリップフロップ)と、このRAMクリアスイッチ操作情報一時憶手段171に記憶された操作情報を出力するための操作情報出力端子と、を備える。払出基板170のCPUは、電源投入後やシステムリセット後の初期処理などにおいて、検出信号入力端子に入力された信号を検出し、RAMクリアスイッチ180が操作されているか否かを示す操作情報(例えば、Hレベルの信号を検出した場合には操作ありを示す1の情報、Lレベルの信号を検出した場合には操作無しの情報を示す0の情報)をRAMクリアスイッチ操作情報一時憶手段171の所定記憶領域に記憶するとともに、当該操作情報に対応する情報(例えば、操作ありの操作情報の場合にはHレベルの信号、操作無しの操作情報の場合にはLレベルの信号)を操作情報出力端子から主基板156に向けて出力する。 The payout board 170 is a RAM clear for temporarily storing the detection signal input terminal connected to the detection signal output terminal of the power supply board 182 and the operation information of the RAM clear switch 180 acquired through the detection signal input terminal. Switch operation information temporary storage means 171 (for example, RAM, CPU register, flip-flop) and an operation information output terminal for outputting the operation information stored in the RAM clear switch operation information temporary storage means 171. . The CPU of the payout board 170 detects the signal input to the detection signal input terminal in the initial processing after power-on or system reset, and indicates operation information (for example, whether or not the RAM clear switch 180 is operated). When the H level signal is detected, the RAM clear switch operation information temporary storage 171 stores 1 information indicating that there is an operation and 0 information indicating that there is no operation when an L level signal is detected. The operation information is stored in a predetermined storage area and information corresponding to the operation information (for example, an H level signal in the case of operation information with an operation and an L level signal in the case of operation information without an operation) is output. Output from the terminal toward the main board 156.
主基板156は、払出基板170の操作情報出力端子に接続される操作情報入力端子(上述のI/O410)と、RAMクリアタイミング報知用LED155と、を備える。主基板156に搭載されたCPU304は、初期設定において、RAMクリアタイミング報知用LED155を点灯させた後に(RAMクリアが可能であることを報知した後に)、操作情報入力端子(I/O310)の入力信号を確認し、Hレベルの信号を検出した場合には、RAM308の所定領域の初期化(RAMクリア)を行う。 The main board 156 includes an operation information input terminal (the above-mentioned I / O 410) connected to the operation information output terminal of the payout board 170, and a RAM clear timing notification LED 155. The CPU 304 mounted on the main board 156 inputs the operation information input terminal (I / O 310) after turning on the RAM clear timing notification LED 155 in the initial setting (after notifying that the RAM can be cleared). When the signal is confirmed and an H level signal is detected, a predetermined area of the RAM 308 is initialized (RAM clear).
図125は、変形例に係る主制御部メイン処理の流れを示すフローチャートであり、上記図10に対応するフローチャートである。なお、図10に示すフローチャートと同一の部分については同一の符号を付し、その説明は省略する。また、図126は、主制御部メイン処理における初期設定2の流れを示すフローチャートである。 FIG. 125 is a flowchart showing the flow of the main process of the main control unit according to the modification, and is a flowchart corresponding to FIG. In addition, the same code | symbol is attached | subjected about the part same as the flowchart shown in FIG. 10, and the description is abbreviate | omitted. FIG. 126 is a flowchart showing a flow of initial setting 2 in the main process of the main control unit.
CPU304は、初期設定2のステップS128において、RAMクリアタイミング報知用LED155を点灯させた後に(RAMクリアが可能であることを報知した後に)、操作情報入力端子(I/O310)の入力信号を確認し、RAMクリアスイッチ180が操作されているか否かを示す操作情報(例えば、Hレベルの信号を検出した場合には操作ありを示す1の情報、Lレベルの信号を検出した場合には操作無しの情報を示す0の情報)をRAM308の所定記憶領域に記憶する。 In step S128 of the initial setting 2, the CPU 304 turns on the RAM clear timing notification LED 155 (after notifying that the RAM can be cleared), and then checks the input signal of the operation information input terminal (I / O 310). Operation information indicating whether or not the RAM clear switch 180 is operated (for example, 1 information indicating that there is an operation when an H level signal is detected, and no operation when an L level signal is detected) Is stored in a predetermined storage area of the RAM 308.
また、初期設定2の実行後のステップS109の判定処理では、最初に、RAM308に操作ありを示す1の情報が記憶されているか否かを判定し、該当する場合(RAMクリアが必要な場合)には、基本回路302を初期状態にすべくステップS113に進む。一方、操作なしを示す0の情報が記憶されている場合(RAMクリアが必要でない場合)には、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップS113に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が特定の値(例えば0)の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS111に進み、チェックサムの結果が特定の値(例えば0)以外である場合(チェックサムの結果が異常である場合)には、パチンコ機を初期状態にすべくステップS113に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS113に進む。 In the determination process in step S109 after the initial setting 2 is executed, first, it is determined whether or not 1 information indicating that there is an operation is stored in the RAM 308, and if applicable (when the RAM needs to be cleared). In step S113, the basic circuit 302 is initialized. On the other hand, when 0 information indicating no operation is stored (when RAM clear is not necessary), the power status information stored in the power status storage area provided in the RAM 308 is read, and the power status information is It is determined whether the information indicates suspend. If the power status information is not information indicating suspend, the process proceeds to step S113 to set the basic circuit 302 to an initial state. If the power status information is information indicating suspend, a predetermined area of the RAM 308 is set. A checksum is calculated by adding all the 1-byte data stored in (for example, all areas) to a 1-byte register whose initial value is 0, and the calculated checksum results in a specific value (for example, 0) (whether or not the checksum result is normal). If the checksum result is a specific value (for example, 0) (if the checksum result is normal), the process proceeds to step S111 to return to the state before the power interruption, and the checksum result is a specific value. If the value is other than 0 (for example, 0) (if the checksum result is abnormal), the process proceeds to step S113 to set the pachinko machine to an initial state. Similarly, when the power status information indicates information other than “suspend”, the process proceeds to step S113.
図125に戻って、同図(b)は、図124(a)に対応する従来の接続態様を示した図である。従来の接続態様では、主基板156において上述の固定延長時間として設定データ111B(約30秒)を設定した場合、セキュリティーモードが終了してユーザモードに移行し、遊技制御用プログラムが開始されるのは、最低でも約30秒後となる。このため、主基板156の遊技制御用プログラムにおいて操作情報入力端子(I/O410)に入力される信号を検出する構成を採用した場合、RAMクリアスイッチ180が最低でも約30秒以上操作され続けなければ、RAMクリアスイッチ180の操作の有無を検出することができない上に、外部からは、主基板156がRAMクリアスイッチ180の操作を検出するタイミングさえも知ることができない。 Returning to FIG. 125, FIG. 125 (b) is a diagram showing a conventional connection mode corresponding to FIG. 124 (a). In the conventional connection mode, when the setting data 111B (about 30 seconds) is set as the above-described fixed extension time on the main board 156, the security mode ends, the user mode is entered, and the game control program is started. Will be at least about 30 seconds later. For this reason, when the configuration for detecting the signal input to the operation information input terminal (I / O 410) is adopted in the game control program of the main board 156, the RAM clear switch 180 must be operated for at least about 30 seconds. For example, whether or not the RAM clear switch 180 is operated cannot be detected, and the timing at which the main board 156 detects the operation of the RAM clear switch 180 cannot be known from the outside.
これに対して、同図(a)に示す本実施形態に係る接続態様では、遊技店の店員などは、RAMクリアタイミング報知用LED155の点灯/消灯を確認することでRAMクリアが可能な状態か否かを即座に判断することができる。このため、RAMクリアタイミング報知用LED155の点灯を待ってRAMクリアスイッチ180を操作することで、確実にRAMクリアを行うことができる上に、RAMクリアスイッチ180を長時間に亘って操作し続けるような煩わしさからも解放され、利便性を高めることができる場合がある。また、RAMクリアタイミング報知用LED155の点灯前(CPU304の遊技制御用プログラムが開始される前に)にRAMクリアスイッチ180が操作されてしまった場合でも、払出基板170のCPUが起動していれば操作情報を払出基板170が記憶することが可能である。このため、主基板156は、払出基板170のRAMクリアスイッチ操作情報一時憶手段171に記憶された操作情報に基づいて、の遊技制御用プログラムの開始後にRAMクリアを確実に実行することができる場合がある。 On the other hand, in the connection mode according to the present embodiment shown in FIG. 5A, whether the store clerk of the game shop can clear the RAM by checking whether the LED 155 for RAM clear timing notification is turned on / off It is possible to immediately determine whether or not. For this reason, the RAM clear switch 180 can be operated by waiting for the RAM clear timing notification LED 155 to be lit, and the RAM clear switch 180 can be operated for a long time. There is a case where it is freed from troublesomeness and convenience can be improved. Even if the RAM clear switch 180 is operated before the RAM clear timing notification LED 155 is turned on (before the game control program of the CPU 304 is started), the CPU of the payout board 170 is activated. The dispensing board 170 can store the operation information. Therefore, when the main board 156 can reliably execute the RAM clear after the start of the game control program based on the operation information stored in the RAM clear switch operation information temporary storage means 171 of the payout board 170. There is.
なお、本実施形態では、電源基板182、払出基板170、および主基板156の間の信号の入出力を入出力端子を介して行う例を示したが、例えば、通信線を介した制御コマンドの送受信によるものでもよい。また、RAMクリアスイッチ180は、電源基板182に配置される例に限定されず、例えば、払出基板170に配置してもよい。
<主制御部の他の命令>
In the present embodiment, an example in which input / output of signals between the power supply board 182, the payout board 170, and the main board 156 is performed via the input / output terminals is described. It may be by transmission and reception. Further, the RAM clear switch 180 is not limited to the example arranged on the power supply board 182, and may be arranged on the payout board 170, for example.
<Other commands of main control unit>
次に、主制御部300が備える他の命令について説明する。なお、以降の説明において、「r」、「s」、「ss」、または「qq」は任意のレジスタを表す略号であり、 Next, other commands included in the main control unit 300 will be described. In the following description, “r”, “s”, “ss”, or “qq” is an abbreviation representing an arbitrary register,
k」はTレジスタとペアになる下位アドレスを表す略号であり、「n」は8ビット長の数値(16進数)を表す略号であり、「mn」は16ビット長の数値(16進数)を表す略号であり、「( )」はカッコ内の値が示すアドレスのデータを表す略号である。
<他の命令/8ビットロード命令>
“k” is an abbreviation representing a lower address paired with the T register, “n” is an abbreviation representing an 8-bit number (hexadecimal number), and “mn” is a 16-bit number (hexadecimal number). “()” Is an abbreviation that represents data at an address indicated by a value in parentheses.
<Other instructions / 8-bit load instructions>
8ビットロード命令は、8ビット長のデータを所定記憶領域にロードする命令であり、例えば、LD命令、LDT命令、またはCLRT命令などが該当する。 The 8-bit load instruction is an instruction for loading 8-bit data into a predetermined storage area, and corresponds to, for example, an LD instruction, an LDT instruction, or a CLRT instruction.
例えば、(LD A,T)命令は、Tレジスタに記憶されたデータを、Aレジスタにロードする命令であり、(LD T,n)命令は、8ビット長の数値nを、Tレジスタにロードする命令である。 For example, the (LD A, T) instruction loads data stored in the T register into the A register, and the (LD T, n) instruction loads an 8-bit numeric value n into the T register. It is an instruction to do.
(LDT A,(r))命令は、Tレジスタに記憶されたデータを上位バイト、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを下位バイトとするアドレスに記憶されたデータを、Aレジスタにロードする命令であり、(LDT A,(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、Aレジスタにロードする命令であり、(LDT r,(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、rで示されるレジスタ(B,C,D,E,H,L)にロードする命令である。 The (LDT A, (r)) instruction stores the data stored in the T register as the upper byte and the data stored in the register (A, B, C, D, E, H, L) indicated by r as the lower byte. (LDT A, (k)) instruction is an instruction for loading data stored in the T register into the upper byte, the register indicated by k. This is an instruction to load the data stored in the address having the data as the lower byte into the A register. The (LDT r, (k)) instruction is the register indicated by the upper byte, k, of the data stored in the T register. This is an instruction to load the data stored in the address having the data stored in the lower byte into the register (B, C, D, E, H, L) indicated by r.
(LDT (r),A)命令は、Aレジスタに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを下位バイトとするアドレスにロードする命令であり、(LDT (k),A)命令は、Aレジスタに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令であり、(LDT (k),r)命令は、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令である。 The (LDT (r), A) instruction is the data stored in the A register, the data stored in the T register is the upper byte, and the registers (A, B, C, D, E, H, L indicated by r) (LDT (k), A) is an instruction to load data stored in the A register, data stored in the T register as upper bytes, This is an instruction to load the data stored in the register indicated by k into an address having a lower byte, and the (LDT (k), r) instruction is a register (B, C, D, E, H, This is an instruction to load data stored in L) into an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte.
(LDT (k),(ss))命令は、ssで示されるペアレジスタ(BC,DE,HL)に記憶されたデータが示すアドレスに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令であり、(LDT (k),(HL+v))命令は、HLレジスタに記憶されたデータにvで示されるデータ(v=1〜7)を加算した加算結果が示すアドレスに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令であり、(LDT (k),(HL+d))命令は、HLレジスタに記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令であり、(LDT (ss),(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、ssで示されるペアレジスタ(BC,DE,HL)に記憶されたデータが示すアドレスにロードする命令である。 The (LDT (k), (ss)) instruction is obtained by changing the data stored in the address indicated by the data stored in the pair register (BC, DE, HL) indicated by ss and the data stored in the T register. This is an instruction to load the data stored in the register indicated by byte k to the address having the lower byte, and the (LDT (k), (HL + v)) instruction is indicated by v in the data stored in the HL register. Data stored at the address indicated by the addition result of data (v = 1 to 7), the data stored in the T register as the upper byte, and the data stored in the register indicated by k as the lower byte The (LDT (k), (HL + d)) instruction is data indicated by d in the data stored in the HL register (d = 8 to 127, −1 to 128) is an instruction to load the data stored at the address indicated by the addition result of 128) into the address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. , (LDT (ss), (k)) instruction, the data stored in the address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte This is an instruction to load to the address indicated by the data stored in the indicated pair register (BC, DE, HL).
(LDT (HL+v),(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、HLレジスタに記憶されたデータにvで示されるデータ(v=1〜7)を加算した加算結果が示すアドレスにロードする命令であり、(LDT (HL+d),(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、HLレジスタに記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスにロードする命令であり、(LDT (k),n)命令は、nで示される値を、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令である。 The (LDT (HL + v), (k)) instruction stores the data stored in the HL register at the address where the data stored in the T register is the upper byte and the data stored in the register indicated by k is the lower byte. This is an instruction to load the address indicated by the addition result obtained by adding the data indicated by v (v = 1 to 7) to the stored data, and the (LDT (HL + d), (k)) instruction is stored in the T register. The data stored in the address having the data stored in the register indicated by k as the upper byte, the data stored in the register indicated by k as the lower byte, and the data indicated by d in the data stored in the HL register (d = 8 to 127, − 1 to -128) is added to the address indicated by the addition result, and the (LDT (k), n) instruction is used to set the value indicated by n to the data stored in the T register. High byte data is an instruction to load the address of the lower byte data stored in the register indicated by k.
(CLRT (k))命令は、数値の0を、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令である。
<他の命令/16ビットロード命令>
The (CLRT (k)) instruction is an instruction to load a numerical value 0 to an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte.
<Other instructions / 16-bit load instructions>
16ビットロード命令は、16ビット長のデータを所定記憶領域にロードする命令であり、例えば、LDT命令、LDWT命令、CLR命令、CLRWT命令などが該当する。具体的には、(LDT BC,n)命令は、Tレジスタに記憶されたデータをBレジスタにロードし、かつ、nで示される数値をCレジスタにロードする命令であり、(LDT DE,n)命令は、Tレジスタに記憶されたデータをDレジスタにロードし、かつ、nで示される数値をEレジスタにロードする命令であり、(LDT HL,n)命令は、Tレジスタに記憶されたデータをHレジスタにロードし、かつ、nで示される数値をLレジスタにロードする命令である。 The 16-bit load instruction is an instruction for loading 16-bit data into a predetermined storage area, and corresponds to, for example, an LDT instruction, an LDWT instruction, a CLR instruction, a CLRWT instruction, and the like. Specifically, the (LDT BC, n) instruction is an instruction for loading data stored in the T register into the B register and loading a numerical value indicated by n into the C register, and (LDT DE, n ) Instruction is an instruction to load data stored in the T register into the D register and load a numerical value indicated by n into the E register, and the (LDT HL, n) instruction is stored in the T register. This is an instruction to load data into the H register and load a numerical value indicated by n into the L register.
(LDT IX,n)命令は、Tレジスタに記憶されたデータを16ビット長のIXレジスタの上位8ビットにロードし、かつ、nで示される数値を16ビット長のIXレジスタの下位8ビットにロードする命令であり、(LDT IY,n)命令は、Tレジスタに記憶されたデータを16ビット長のIYレジスタの上位バイトにロードし、かつ、nで示される数値を16ビット長のIYレジスタの下位バイトにロードする命令である。 The (LDT IX, n) instruction loads the data stored in the T register into the upper 8 bits of the 16-bit IX register, and sets the numerical value indicated by n to the lower 8 bits of the 16-bit IX register. The (LDT IY, n) instruction loads data stored in the T register into the upper byte of the 16-bit IY register, and the numerical value indicated by n is a 16-bit IY register. This is an instruction to load the lower byte of.
(LDT ss,(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、ssで示されるペアレジスタ(BC,DE)の上位バイトにロードし、かつ、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに1を加算したアドレスに記憶されたデータを、ssで示されるペアレジスタ(BC,DE)の下位バイトにロードする命令である。 The (LDT ss, (k)) instruction is a pair indicated by ss with data stored at an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. Load the upper byte of the register (BC, DE) and store the data stored in the T register as the upper byte and the address stored in the register indicated by k as the lower byte plus 1 This is an instruction to load the read data into the lower byte of the pair register (BC, DE) indicated by ss.
(LDT qq,(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、qqで示されるペアレジスタ(IX,IY)の上位バイトにロードし、かつ、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに1を加算したアドレスに記憶されたデータを、qqで示されるペアレジスタ(IX,IY)の下位バイトにロードする命令である。 The (LDT qq, (k)) instruction is a pair indicated by qq with data stored at an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. Load the upper byte of the register (IX, IY), store the data stored in the T register as the upper byte, and store the data stored in the register indicated by k as the lower byte. This is an instruction to load the read data into the lower byte of the pair register (IX, IY) indicated by qq.
(LDT HL,(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、HLレジスタのLレジスタにロードし、かつTレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに1を加算したアドレスに記憶されたデータを、HLレジスタのHレジスタにロードする命令である。 The (LDT HL, (k)) instruction uses the data stored in the address stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. And the data stored in the address obtained by adding 1 to the address having the data stored in the T register as the upper byte, the data stored in the register indicated by k as the lower byte, and the H register of the HL register. Is an instruction to load.
(LDT (k),ss)命令は、ssで示されるペアレジスタ(BC,DE,HL)の下位バイトに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードし、かつssで示されるペアレジスタ(BC,DE,HL)の上位バイトに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに1を加算したアドレスにロードする命令である。 The (LDT (k), ss) instruction is data stored in the lower byte of the pair register (BC, DE, HL) indicated by ss, data stored in the T register is higher byte, and register indicated by k The data stored in the upper byte of the pair register (BC, DE, HL) indicated by ss, the data stored in the T register as the upper byte, This is an instruction to load an address obtained by adding 1 to an address having the data stored in the register indicated by k as a lower byte.
(LDT (k),qq)命令は、qqで示されるペアレジスタ(IX,IY)の下位バイトに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードし、かつqqで示されるペアレジスタ(IX,IY)の上位バイトに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに1を加算したアドレスにロードする命令である。 The (LDT (k), qq) instruction stores the data stored in the lower byte of the pair register (IX, IY) indicated by qq, the data stored in the T register as the upper byte, and the register indicated by k. The data stored in the upper byte of the pair register (IX, IY) indicated by qq, the data stored in the T register as the upper byte, and k This is an instruction to load an address obtained by adding 1 to an address having the data stored in the register as the lower byte.
(LDT (k),HL)命令は、Lレジスタに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードし、かつHレジスタに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに1を加算したアドレスにロードする命令である。 The (LDT (k), HL) instruction loads data stored in the L register into an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. And an instruction to load data stored in the H register into an address obtained by adding 1 to an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. .
(LDWT (r),mn)命令は、Tレジスタに記憶されたデータを上位バイト、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを下位バイトとするアドレスにロードし、かつ16ビットの数値であるmn+1で示されるアドレスに記憶されたデータを、Tレジスタに記憶されたデータを上位バイト、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを下位バイトとするアドレスに1を加算したアドレスにロードする命令である。 The (LDWT (r), mn) instruction uses the data stored in the T register as the upper byte and the data stored in the register (A, B, C, D, E, H, L) indicated by r as the lower byte. The data stored in the address indicated by mn + 1, which is a 16-bit numerical value, the data stored in the T register as the upper byte, and the register indicated by r (A, B, C, D) , E, H, L) is an instruction to load an address obtained by adding 1 to an address having the data stored in the lower byte.
(CLR (ss))命令は、ssで示されるペアレジスタ(BC,DE)に数値の0を記憶する命令であり、(CLRW (ss))命令は、ssで示されるペアレジスタ(BC,DE,HL)に記憶されたデータが示すアドレスに数値の0を記憶するとともに、当該アドレスに1を加算したアドレスに数値の0を記憶する命令であり、(CLRW (qq))命令は、qqで示されるレジスタ(IX,IY)に記憶されたデータが示すアドレスに数値の0を記憶するとともに、当該アドレスに1を加算したアドレスに数値の0を記憶する命令であり、(CLRW (qq+d))命令は、qqで示されるレジスタ(IX,IY)に記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスに、数値の0を記憶する命令である。 The (CLR (ss)) instruction is an instruction for storing a numerical value 0 in a pair register (BC, DE) indicated by ss, and the (CLRW (ss)) instruction is a pair register (BC, DE) indicated by ss. , HL) is an instruction that stores a numerical value 0 at the address indicated by the data stored in the data, and stores a numerical value 0 at an address obtained by adding 1 to the address. The (CLRW (qq)) instruction is qq This is an instruction for storing a numerical value 0 at an address indicated by data stored in the indicated register (IX, IY) and storing a numerical value 0 at an address obtained by adding 1 to the address, (CLRW (qq + d)) The instruction is an address indicated by an addition result obtained by adding data (d = 8 to 127, −1 to −128) indicated by d to data stored in the register (IX, IY) indicated by qq. In vinegar, it is an instruction to store the numeric 0.
(CLRT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに、数値の0を記憶する命令であり、(CLRWT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードし、かつ、数値の0を、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに1を加算したアドレスに数値の0を記憶する命令である。 The (CLRT (k)) instruction is an instruction for storing a numerical value 0 at an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte, and (CLRWT (K)) The instruction loads the data stored in the T register to the upper byte, the data stored in the register indicated by k as the lower byte, and stores the numerical value 0 in the T register. This is an instruction for storing a numerical value of 0 at an address obtained by adding 1 to an address having the stored data as the upper byte and the data stored in the register indicated by k as the lower byte.
このように、ssで示されるレジスタ(BC,DE)や、qqで示されるレジスタ(IX,IY)は、(CLR (ss))命令、(CLRW (ss))命令、(CLRW (qq+d))命令のオペランドとして指定が可能である。一方、Tレジスタ(特殊レジスタ)は、CLRT命令またはCLRWT命令のオペランドとしてのみ指定が可能であることに加えて、オペランドの一部(本実施形態では、kで示されるアドレスの下位1バイト)は直値でのみ指定が可能である。このため、Tレジスタの値が予期せずに0にクリアされてしまったり、Tレジスタに予期しない値が記憶されてしまうような事態を未然に防止できる場合がある。
<他の命令/スタック操作命令>
As described above, the register (BC, DE) indicated by ss and the register (IX, IY) indicated by qq are (CLR (ss)) instruction, (CLRW (ss)) instruction, (CLRW (qq + d)). It can be specified as an instruction operand. On the other hand, the T register (special register) can be specified only as an operand of the CLRT instruction or the CLRWT instruction, and in addition, a part of the operand (the lower 1 byte of the address indicated by k in this embodiment) is It can only be specified as a direct value. For this reason, a situation in which the value of the T register is unexpectedly cleared to 0 or an unexpected value is stored in the T register may be prevented.
<Other instructions / stack manipulation instructions>
スタック操作命令は、スタック領域にデータを退避したり、スタック領域からデータを復帰したりするための命令であり、例えば、PUSH命令、POP命令などが該当する。 The stack operation instruction is an instruction for saving data in the stack area or restoring data from the stack area, and corresponds to, for example, a PUSH instruction, a POP instruction, and the like.
例えば、(PUSH ss)命令は、ssで示されるペアレジスタ(AF,BC,DE,HL)の上位バイトに記憶されたデータを、(SP(スタックポインタ)−1)で示されるアドレスに退避し、かつ、ssで示されるペアレジスタ(AF,BC,DE,HL)の下位バイトに記憶されたデータを、(SP−2)で示されるアドレスに退避した後に、SPから2を減算する命令である。また、(PUSH TI)命令は、Tレジスタに記憶されたデータを、(SP−1)で示されるアドレスに退避し、かつ、Iレジスタに記憶されたデータを、(SP−2)で示されるアドレスに退避した後に、SPから2を減算する命令である。また、(PUSH qq)命令は、qqで示されるペアレジスタ(IX,IY)の上位バイトに記憶されたデータを、(SP−1)で示されるアドレスに退避し、かつ、qqで示されるペアレジスタ(IX,IY)の下位バイトに記憶されたデータを、(SP−2)で示されるアドレスに退避した後に、SPから2を減算する命令である。 For example, the (PUSH ss) instruction saves the data stored in the upper byte of the pair register (AF, BC, DE, HL) indicated by ss to the address indicated by (SP (stack pointer) -1). An instruction that subtracts 2 from SP after saving the data stored in the lower byte of the pair register (AF, BC, DE, HL) indicated by ss to the address indicated by (SP-2). is there. The (PUSH TI) instruction saves the data stored in the T register to the address indicated by (SP-1), and the data stored in the I register is indicated by (SP-2). This instruction subtracts 2 from SP after saving to an address. The (PUSH qq) instruction saves the data stored in the upper byte of the pair register (IX, IY) indicated by qq to the address indicated by (SP-1), and the pair indicated by qq. This instruction subtracts 2 from SP after saving the data stored in the lower byte of the register (IX, IY) to the address indicated by (SP-2).
(PUSH ALL)命令は、全てのレジスタ(T,I,A,F,B,C,D,E,H,L,IXの上位バイト,IXの下位バイト,IYの上位バイト,IYの下位バイト)に記憶されたデータを、この順番で1バイトずつスタック領域に退避した後に、SPから14(レジスタの総数)を減算する命令である。また、(PUSH GPR)命令は、一部のレジスタ(A,F,B,C,D,E,H,L)に記憶されたデータを、この順番で1バイトずつスタック領域に退避した後に、SPから8を減算する命令である。 (PUSH ALL) instruction is for all registers (T, I, A, F, B, C, D, E, H, L, IX high byte, IX low byte, IY high byte, IY low byte This is an instruction for subtracting 14 (total number of registers) from SP after the data stored in () is saved to the stack area byte by byte in this order. In addition, the (PUSH GPR) instruction saves data stored in some registers (A, F, B, C, D, E, H, L) one byte at a time in this order, This is an instruction to subtract 8 from SP.
(POP ss)命令は、SPで示されるアドレスに記憶されたデータを、ssで示されるペアレジスタ(AF,BC,DE,HL)の上位バイトに復帰し、かつ、(SP+1)で示されるアドレスに記憶されたデータを、ssで示されるペアレジスタ(AF,BC,DE,HL)の下位バイトに復帰した後に、SPに2を加算する命令である。また、(POP TI)命令は、SPで示されるアドレスに記憶されたデータを、Iレジスタに復帰し、かつ、(SP+1)で示されるアドレスに記憶されたデータを、Tレジスタに復帰した後に、SPに2を加算する命令である。また、(POP qq)命令は、SPで示されるアドレスに記憶されたデータを、qqで示されるペアレジスタ(IX,IY)の下位バイトに復帰し、かつ、(SP+1)で示されるアドレスに記憶されたデータを、qqで示されるペアレジスタ(IX,IY)の上位バイトに復帰した後に、SPに2を加算する命令である。 The (POP ss) instruction restores the data stored at the address indicated by SP to the upper byte of the pair register (AF, BC, DE, HL) indicated by ss and the address indicated by (SP + 1) This is an instruction to add 2 to SP after the data stored in is restored to the lower byte of the pair register (AF, BC, DE, HL) indicated by ss. The (POP TI) instruction returns the data stored at the address indicated by SP to the I register and returns the data stored at the address indicated by (SP + 1) to the T register. This is an instruction to add 2 to SP. The (POP qq) instruction restores the data stored at the address indicated by SP to the lower byte of the pair register (IX, IY) indicated by qq and stores it at the address indicated by (SP + 1). This is an instruction to add 2 to SP after the restored data is restored to the upper byte of the pair register (IX, IY) indicated by qq.
(POP ALL)命令は、SP、(SP+1)、…、(SP+12)、(SP+13)に記憶されたデータを、この順番で全てのレジスタ(IYの下位バイト,IYの上位バイト,IXの下位バイト,IXの上位バイト,L,H,E,D,C,B,F,A,I,T)に1バイトずつ復帰(IYの下位バイト←(SP)、IYの上位バイト←(SP+1)、…、I←(SP+12)、T←(SP+13))した後に、SPに14を加算する命令である。また、(POP GPR)命令は、SP、(SP+1)、…、(SP+6)、(SP+7)に記憶されたデータを、この順番で一部のレジスタ(L,H,E,D,C,B,F,A)に1バイトずつ復帰(L←(SP)、H←(SP+1)、…、F←(SP+6)、A←(SP+7))した後に、SPに8を加算する命令である。
<他の命令/算術論理演算命令>
The (POP ALL) instruction reads the data stored in SP, (SP + 1),..., (SP + 12), (SP + 13) in this order in all registers (lower byte of IY, upper byte of IY, lower byte of IX). , IX high byte, L, H, E, D, C, B, F, A, I, T) one byte at a time (low byte of IY ← (SP), high byte of IY ← (SP + 1), ..., I ← (SP + 12), T ← (SP + 13)), and then an instruction to add 14 to SP. In addition, the (POP GPR) instruction is used to store data stored in SP, (SP + 1),..., (SP + 6), (SP + 7) in this order in some registers (L, H, E, D, C, B). , F, A) is an instruction to add 8 to SP after returning one byte at a time (L ← (SP), H ← (SP + 1),..., F ← (SP + 6), A ← (SP + 7)).
<Other instructions / arithmetic logic operation instructions>
算術論理演算命令は、各種の論理演算を行うための命令であり、例えば、ADD命令、SUB命令、ANDT命令、ORT命令、XORT命令、CPT命令、INC命令、INCT命令、INCWT命令、DEC命令、DECT命令、DECWT命令などが該当する。 The arithmetic logic operation instruction is an instruction for performing various logic operations. For example, an ADD instruction, a SUB instruction, an ANDT instruction, an ORT instruction, an XORT instruction, a CPT instruction, an INC instruction, an INCT instruction, an INCWT instruction, a DEC instruction, A DECT instruction, a DECWT instruction, and the like are applicable.
例えば、(ADD A,r)命令は、Aレジスタに記憶されたデータと、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを加算し、加算結果をAレジスタに記憶する命令であり、(ADDT r,(k))命令は、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータと、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを加算し、加算結果をrで示されるレジスタ(B,C,D,E,H,L)に記憶する命令である。 For example, the (ADD A, r) instruction adds the data stored in the A register and the data stored in the register (A, B, C, D, E, H, L) indicated by r, and adds This is an instruction for storing the result in the A register. The (ADDT r, (k)) instruction stores the data stored in the register (B, C, D, E, H, L) indicated by r and the T register. The stored data is added to the upper byte, the data stored in the address having the data stored in the register indicated by k as the lower byte, and the addition result is added to the register (B, C, D, E, H, L).
例えば、(SUB r)命令は、Aレジスタに記憶されたデータから、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを減算し、減算結果をAレジスタに記憶する命令であり、(SUBT r,(k))命令は、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータから、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、減算結果をrで示されるレジスタ(B,C,D,E,H,L)に記憶する命令である。 For example, the (SUB r) instruction subtracts the data stored in the register (A, B, C, D, E, H, L) indicated by r from the data stored in the A register. This is an instruction to be stored in the A register. The (SUBT r, (k)) instruction is stored in the T register from the data stored in the register (B, C, D, E, H, L) indicated by r. The data stored in the address having the data stored in the register indicated by k as the upper byte and the data stored in the register indicated by k as the lower byte are subtracted, and the subtraction result is indicated by the register (B, C, D, E, H, L) is an instruction to be stored.
例えば、(ANDT (k))命令は、Aレジスタに記憶されたデータと、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の論理積(AND)を算出し、演算結果をAレジスタに記憶する命令であり、(ANDT r,(k))命令は、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータと、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の論理積(AND)を算出し、演算結果をrで示されるレジスタ(B,C,D,E,H,L)に記憶する命令である。 For example, the (ANDT (k)) instruction is stored in an address having the data stored in the A register, the data stored in the T register as the upper byte, and the data stored in the register indicated by k as the lower byte. Is an instruction that calculates a logical product (AND) of the data and stores the operation result in the A register. The (ANDT r, (k)) instruction is a register (B, C, D, E) indicated by r. , H, L) and the data stored in the address stored in the address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte ( AND), and the operation result is stored in a register (B, C, D, E, H, L) indicated by r.
(ORT (k))命令は、Aレジスタに記憶されたデータと、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の論理和(OR)を算出し、演算結果をAレジスタに記憶する命令であり、(ORT r,(k))命令は、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータと、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の論理和(OR)を算出し、演算結果をrで示されるレジスタ(B,C,D,E,H,L)記憶する命令である。 The (ORT (k)) instruction is data stored in an address having the data stored in the A register, the data stored in the T register as the upper byte, and the data stored in the register indicated by k as the lower byte. And (ORT r, (k)) instructions are registers (B, C, D, E, H) indicated by r. , L) and the data stored at the address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte (OR) And the operation result is stored in a register (B, C, D, E, H, L) indicated by r.
(XORT (k))命令は、Aレジスタに記憶されたデータと、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の排他的論理和(XOR)を算出し、演算結果をAレジスタに記憶する命令であり、(XORT r,(k))命令は、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータと、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の排他的論理和(XOR)を算出し、演算結果をrで示されるレジスタ(B,C,D,E,H,L)に記憶する命令である。 The (XORT (k)) instruction is data stored in an address having the data stored in the A register, the data stored in the T register as the upper byte, and the data stored in the register indicated by k as the lower byte. And an XORT r, (k) instruction is a register (B, C, D, E) indicated by r. , H, L) and the data stored in the address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. This is an instruction for calculating the sum (XOR) and storing the operation result in a register (B, C, D, E, H, L) indicated by r.
(CPT (k))命令は、Aレジスタに記憶されたデータから、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、演算結果がオーバーフローした場合に所定のフラグを1にセットする一方で、オーバーフローしなかった場合に所定のフラグを0にクリアするとともに、Sフラグ、Zフラグ、TZフラグ、Hフラグ、またはキャリーフラグ(Cフラグ)に記憶された値を0から1(または1から0)に変化させる命令である。(CPT r,(k))命令は、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータから、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、演算結果がオーバーフローした場合に所定のフラグを1にセットする一方で、オーバーフローしなかった場合に所定のフラグを0にクリアするとともに、Sフラグ、Zフラグ、TZフラグ、Hフラグ、またはキャリーフラグ(Cフラグ)に記憶された値を0から1(または1から0)に変化させる命令である。 The (CPT (k)) instruction is the data stored in the address stored in the A register with the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. When the calculation result overflows, the predetermined flag is set to 1, while when the calculation result does not overflow, the predetermined flag is cleared to 0, and the S flag, Z flag, TZ flag, H flag, Alternatively, it is an instruction for changing the value stored in the carry flag (C flag) from 0 to 1 (or from 1 to 0). The (CPT r, (k)) instruction indicates the data stored in the T register from the data stored in the register (B, C, D, E, H, L) indicated by r by the upper byte, k. The data stored in the address stored in the register is subtracted from the data stored in the lower byte. When the operation result overflows, the predetermined flag is set to 1. On the other hand, when the overflow does not occur, the predetermined flag is set. This instruction clears the value to 0 and changes the value stored in the S flag, Z flag, TZ flag, H flag, or carry flag (C flag) from 0 to 1 (or from 1 to 0).
(INC T)命令は、Tレジスタに記憶されたデータに1を加算する命令であり、(INCT (r))命令は、Tレジスタに記憶されたデータを上位バイト、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを下位バイトとするアドレスに記憶されたデータに1を加算する命令であり、(INCT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータに1を加算する命令である。また、(INCWT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに1を加算したアドレスに記憶された2バイト長のデータに1を加算する命令である。 The (INC T) instruction is an instruction for adding 1 to the data stored in the T register, and the (INCT (r)) instruction is used to store the data stored in the T register as an upper byte and a register (A , B, C, D, E, H, L) is an instruction for adding 1 to the data stored in the address having the lower byte as the data stored therein, and the (INCT (k)) instruction is stored in the T register. This is an instruction to add 1 to the data stored in the address having the stored data as the upper byte and the data stored in the register indicated by k as the lower byte. In addition, the (INCWT (k)) instruction stores the data stored in the T register as the upper byte, the address stored in the register indicated by k as the lower byte, and the address obtained by adding 1 to the address. This is an instruction for adding 1 to the 2-byte data.
(DEC T)命令は、Tレジスタに記憶されたデータから1を減算する命令であり、(DECT (r))命令は、Tレジスタに記憶されたデータを上位バイト、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを下位バイトとするアドレスに記憶されたデータから1を減算する命令であり、(DECT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから1を減算する命令である。また、(INCWT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに1を加算したアドレスに記憶された2バイト長のデータから1を減算する命令である。
<他の命令/ローテート シフト命令>
The (DEC T) instruction is an instruction for subtracting 1 from the data stored in the T register, and the (DECT (r)) instruction is used to store the data stored in the T register in the upper byte, the register (A , B, C, D, E, H, L) is an instruction for subtracting 1 from the data stored in the address having the lower byte as the data stored therein, and the (DECT (k)) instruction is stored in the T register. This is an instruction for subtracting 1 from data stored at an address having stored data as an upper byte and data stored in a register indicated by k as a lower byte. In addition, the (INCWT (k)) instruction stores the data stored in the T register as the upper byte, the address stored in the register indicated by k as the lower byte, and the address obtained by adding 1 to the address. This is an instruction to subtract 1 from the 2-byte data.
<Other instructions / Rotate shift instructions>
算術論理演算命令は、各種の論理演算を行うための命令であり、例えば、RLC命令、RLCT命令、RRC命令、RRCT命令、RL命令、RLT命令、RR命令、RRT命令、SLA命令、SLAT命令、SRA命令、SRAT命令、SRL命令、SRLT命令などが該当する。 Arithmetic logical operation instructions are instructions for performing various logical operations. For example, RLC instruction, RLCT instruction, RRC instruction, RRCT instruction, RL instruction, RLT instruction, RR instruction, RRT instruction, SLA instruction, SLAT instruction, An SRA instruction, SRAT instruction, SRL instruction, SRLT instruction, and the like are applicable.
例えば、(RLC r)命令は、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを左に(LSBからMSB側に)1ビットだけローテートし、MSBからシフトアウトされたビットをLSBとキャリーフラグに記憶する命令であり、(RLC (HL))命令は、HLレジスタに記憶されたデータを左に1ビットだけローテートし、MSBからシフトアウトされたビットをLSBとキャリーフラグに記憶する命令であり、(RLC (qq+d))命令は、qqで示されるレジスタ(IX,IY)に記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスに記憶されたデータを左に1ビットだけローテートし、MSBからシフトアウトされたビットをLSBとキャリーフラグに記憶する命令であり、(RLCT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを左に1ビットだけローテートし、MSBからシフトアウトされたビットをLSBとキャリーフラグに記憶する命令である。 For example, the (RLC r) instruction rotates the data stored in the register (A, B, C, D, E, H, L) indicated by r by 1 bit to the left (from the LSB to the MSB side) This instruction stores the bits shifted out from the MSB in the LSB and the carry flag. The (RLC (HL)) instruction rotates the data stored in the HL register to the left by 1 bit and is shifted out from the MSB. The bit is stored in the LSB and the carry flag. The (RLC (qq + d)) instruction is data stored in the register (IX, IY) indicated by qq (d = 8 to 127, −1 to −128) is added, the data stored at the address indicated by the addition result is rotated left by 1 bit, and the bit shifted out from the MSB is LSB (RLCT (k)) instruction is data stored in an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. Is rotated to the left by 1 bit, and the bit shifted out from the MSB is stored in the LSB and carry flag.
(RRC r)命令は、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを右に(MSBからLSB側に)1ビットだけローテートし、LSBからシフトアウトされたビットをMSBとキャリーフラグに記憶する命令であり、(RRC (HL))命令は、HLレジスタに記憶されたデータを右に1ビットだけローテートし、LSBからシフトアウトされたビットをMSBとキャリーフラグに記憶する命令であり、(RRC (qq+d))命令は、qqで示されるレジスタ(IX,IY)に記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスに記憶されたデータを右に1ビットだけローテートし、LSBからシフトアウトされたビットをMSBとキャリーフラグに記憶する命令であり、(RRCT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを右に1ビットだけローテートし、LSBからシフトアウトされたビットをMSBとキャリーフラグに記憶する命令である。 The (RRC r) instruction rotates the data stored in the register (A, B, C, D, E, H, L) indicated by r to the right (from the MSB to the LSB side) by 1 bit, and from the LSB This instruction stores the shifted out bits in the MSB and carry flag. The (RRC (HL)) instruction rotates the data stored in the HL register to the right by 1 bit, and shifts the bits shifted out from the LSB. This is an instruction stored in the MSB and carry flag, and the (RRC (qq + d)) instruction is data indicated by d (d = 8 to 127, −1) in data stored in the register (IX, IY) indicated by qq. The data stored at the address indicated by the addition result is rotated by 1 bit to the right, and the bit shifted out from the LSB is carried with the MSB. (RRCT (k)) instruction stores data stored in an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. This instruction rotates to the right by one bit and stores the bits shifted out from the LSB in the MSB and carry flag.
(RL r)命令は、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを左に(LSBからMSB側に)1ビットだけローテートし、キャリーフラグに記憶されていたビットをLSBに記憶し、MSBからシフトアウトされたビットをキャリーフラグに記憶する命令であり、(RL (HL))命令は、HLレジスタに記憶されたデータを左に1ビットだけローテートし、キャリーフラグに記憶されていたビットをLSBに記憶し、MSBからシフトアウトされたビットをキャリーフラグに記憶する命令であり、(RL (qq+d))命令は、qqで示されるレジスタ(IX,IY)に記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスに記憶されたデータを左に1ビットだけローテートし、キャリーフラグに記憶されていたビットをLSBに記憶し、MSBからシフトアウトされたビットをキャリーフラグに記憶する命令であり、(RLT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを左に1ビットだけローテートし、キャリーフラグに記憶されていたビットをLSBに記憶し、MSBからシフトアウトされたビットをキャリーフラグに記憶する命令である。 The (RL r) instruction rotates the data stored in the register (A, B, C, D, E, H, L) indicated by r to the left (from the LSB to the MSB side) by 1 bit, and carries the carry flag. The bit stored in the LSB is stored in the LSB, and the bit shifted out from the MSB is stored in the carry flag. The (RL (HL)) instruction stores the data stored in the HL register 1 bit to the left. The bit stored in the carry flag is stored in the LSB, and the bit shifted out from the MSB is stored in the carry flag. The (RL (qq + d)) instruction is a register ( IX, IY) is stored in the address indicated by the addition result obtained by adding the data indicated by d (d = 8 to 127, −1 to −128). Is rotated to the left by 1 bit, the bit stored in the carry flag is stored in the LSB, and the bit shifted out from the MSB is stored in the carry flag. The (RLT (k)) instruction is Rotate the data stored in the address with the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte by one bit to the left, and change the bit stored in the carry flag. This is an instruction for storing the bit shifted out from the MSB and stored in the LSB in the carry flag.
(RR r)命令は、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを右に(MSBからLSB側に)1ビットだけローテートし、キャリーフラグに記憶されていたビットをMSBに記憶し、LSBからシフトアウトされたビットをキャリーフラグに記憶する命令であり、(RR (HL))命令は、HLレジスタに記憶されたデータを右に1ビットだけローテートし、キャリーフラグに記憶されていたビットをMSBに記憶し、LSBからシフトアウトされたビットをキャリーフラグに記憶する命令であり、(RR (qq+d))命令は、qqで示されるレジスタ(IX,IY)に記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスに記憶されたデータを右に1ビットだけローテートし、キャリーフラグに記憶されていたビットをMSBに記憶し、LSBからシフトアウトされたビットをキャリーフラグに記憶する命令であり、(RRT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを右に1ビットだけローテートし、キャリーフラグに記憶されていたビットをMSBに記憶し、LSBからシフトアウトされたビットをキャリーフラグに記憶する命令である。 The (RR r) instruction rotates the data stored in the register (A, B, C, D, E, H, L) indicated by r by 1 bit to the right (from the MSB to the LSB side), and carries the carry flag. The bit stored in the MSB is stored in the MSB, and the bit shifted out from the LSB is stored in the carry flag. The (RR (HL)) instruction stores the data stored in the HL register 1 bit to the right. Only the bit stored in the carry flag is stored in the MSB, and the bit shifted out from the LSB is stored in the carry flag. The (RR (qq + d)) instruction is a register ( IX, IY) is stored in the address indicated by the addition result obtained by adding the data indicated by d (d = 8 to 127, −1 to −128). Is rotated to the right by 1 bit, the bit stored in the carry flag is stored in the MSB, and the bit shifted out from the LSB is stored in the carry flag. The (RRT (k)) instruction is Rotate the data stored in the address with the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte by one bit to the right, and change the bit stored in the carry flag. This is an instruction to store in MSB the bit shifted out from LSB in the carry flag.
(SLA r)命令は、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを左に(LSBからMSB側に)1ビットだけシフトし、MSBからシフトアウトされたビットをキャリーフラグに記憶し、LSBに0を記憶する命令であり、(SLA (HL))命令は、HLレジスタに記憶されたデータを左に1ビットだけシフトし、MSBからシフトアウトされたビットをキャリーフラグに記憶し、LSBに0を記憶する命令であり、(SLA (qq+d))命令は、qqで示されるレジスタ(IX,IY)に記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスに記憶されたデータを左に1ビットだけシフトし、MSBからシフトアウトされたビットをキャリーフラグに記憶し、LSBに0を記憶する命令であり、(SLAT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを左に1ビットだけシフトし、MSBからシフトアウトされたビットをキャリーフラグに記憶し、LSBに0を記憶する命令である。 The (SLA r) instruction shifts the data stored in the register (A, B, C, D, E, H, L) indicated by r by 1 bit to the left (from the LSB to the MSB side), and from the MSB. This instruction stores the shifted out bit in the carry flag and stores 0 in the LSB. The (SLA (HL)) instruction shifts the data stored in the HL register by 1 bit to the left and shifts from the MSB. This is an instruction for storing the out bit in the carry flag and storing 0 in the LSB. The (SLA (qq + d)) instruction is indicated by d in the data stored in the register (IX, IY) indicated by qq. Data stored at the address indicated by the addition result of data (d = 8 to 127, −1 to −128) is shifted left by 1 bit, and the bits shifted out from the MSB are keyed. The instruction is stored in the Lee flag and 0 is stored in the LSB. The (SLAT (k)) instruction uses the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. This is an instruction to shift the data stored in the address by 1 bit to the left, store the bit shifted out from the MSB in the carry flag, and store 0 in the LSB.
(SRA r)命令は、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを右に(MSBからLSB側に)1ビットだけシフトし、LSBからシフトアウトされたビットをキャリーフラグに記憶し、MSBに直前のMSBの値を記憶する命令であり、(SLA (HL))命令は、HLレジスタに記憶されたデータを右に1ビットだけシフトし、LSBからシフトアウトされたビットをキャリーフラグに記憶し、MSBに直前のMSBの値を記憶する命令であり、(SLA (qq+d))命令は、qqで示されるレジスタ(IX,IY)に記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスに記憶されたデータを右に1ビットだけシフトし、LSBからシフトアウトされたビットをキャリーフラグに記憶し、MSBに直前のMSBの値を記憶する命令であり、(SLAT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを右に1ビットだけシフトし、LSBからシフトアウトされたビットをキャリーフラグに記憶し、MSBに直前のMSBの値を記憶する命令である。 The (SRAR) instruction shifts the data stored in the register (A, B, C, D, E, H, L) indicated by r to the right (from the MSB to the LSB side) by 1 bit, and from the LSB This is an instruction to store the shifted out bit in the carry flag and store the previous MSB value in the MSB. The (SLA (HL)) instruction shifts the data stored in the HL register by 1 bit to the right. , The bit shifted out from the LSB is stored in the carry flag, and the MSB value is stored in the MSB. The (SLA (qq + d)) instruction is stored in the register (IX, IY) indicated by qq. The data stored at the address indicated by the addition result obtained by adding the data indicated by d (d = 8 to 127, −1 to −128) to the generated data is shifted to the right by 1 bit, and from the LSB The bit stored in the carry flag is stored in the carry flag, and the value of the previous MSB is stored in the MSB. The (SLAT (k)) instruction stores the data stored in the T register in the upper byte, a register indicated by k. An instruction that shifts data stored in the address having the data stored in the lower byte by 1 bit to the right, stores the bit shifted out from the LSB in the carry flag, and stores the previous MSB value in the MSB It is.
(SRL r)命令は、rで示されるレジスタ(A,B,C,D,E,H,L)に記憶されたデータを右に(MSBからLSB側に)1ビットだけシフトし、LSBからシフトアウトされたビットをキャリーフラグに記憶し、MSBに0を記憶する命令であり、(SRL (HL))命令は、HLレジスタに記憶されたデータを右に1ビットだけシフトし、LSBからシフトアウトされたビットをキャリーフラグに記憶し、MSBに0を記憶する命令であり、(SRL (qq+d))命令は、qqで示されるレジスタ(IX,IY)に記憶されたデータにdで示されるデータ(d=8〜127、−1〜−128)を加算した加算結果が示すアドレスに記憶されたデータを右に1ビットだけシフトし、LSBからシフトアウトされたビットをキャリーフラグに記憶し、MSBに0を記憶する命令であり、(SRLT (k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを右に1ビットだけシフトし、LSBからシフトアウトされたビットをキャリーフラグに記憶し、MSBに0を記憶する命令である。
<他の命令/ビット操作命令>
The (SRL r) instruction shifts the data stored in the register (A, B, C, D, E, H, L) indicated by r by 1 bit to the right (from the MSB to the LSB side), and from the LSB This instruction stores the shifted-out bit in the carry flag and stores 0 in the MSB. The (SRL (HL)) instruction shifts the data stored in the HL register to the right by 1 bit and shifts from the LSB. This is an instruction to store the out bit in the carry flag and store 0 in the MSB. The (SRL (qq + d)) instruction is indicated by d in the data stored in the register (IX, IY) indicated by qq. The data stored at the address indicated by the addition result of data (d = 8 to 127, −1 to −128) is shifted to the right by 1 bit, and the bit shifted out from the LSB is captured. -An instruction to store in the flag and 0 in the MSB. The (SRLT (k)) instruction uses the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. This is an instruction to shift data stored in the address by 1 bit to the right, store the bit shifted out from the LSB in the carry flag, and store 0 in the MSB.
<Other instructions / bit manipulation instructions>
ビット操作命令は、ビット単位で各種の操作を行うための命令であり、例えば、BITT命令、SETT命令、REST命令などが該当する。 The bit operation instruction is an instruction for performing various operations in bit units, and corresponds to, for example, a BITT instruction, a SETT instruction, a REST instruction, and the like.
例えば、(BITT b,(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを反転して所定のフラグに記憶する命令であり、(SETT b,(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータに1をセットする命令であり、(REST b,(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータに0をセットする命令である。
<他の命令/演算&ジャンプ命令>
For example, the (BITT b, (k)) instruction inverts data stored at an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. The (SETT b, (k)) instruction is an instruction that sets the data stored in the T register to the upper byte and 1 stored in the data stored in the register indicated by k. The (REST b, (k)) instruction is an instruction to set 0 to data stored in an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. is there.
<Other instructions / arithmetic & jump instructions>
演算&ジャンプ命令は、演算と当該演算の演算結果に基づく分岐処理を行うための命令であり、例えば、JCPT命令や、JTT命令や、JBITT命令などが該当する。 The calculation & jump instruction is an instruction for performing a branch process based on the calculation and the calculation result of the calculation.
例えば、(JCPT Z,A、(k),e)命令は、Aレジスタに記憶されたデータから、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、Zフラグが1の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、Zフラグが0の場合には後続の命令を実行させる命令であり、(JCPT NZ,A、(k),e)命令は、Aレジスタに記憶されたデータから、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、Zフラグが0の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、Zフラグが1の場合には後続の命令を実行させる命令である。 For example, the instruction (JCPT Z, A, (k), e), from the data stored in the A register, the data stored in the T register is the upper byte, and the data stored in the register indicated by k is the lower byte. When the Z flag is 1, when the Z flag is 1, the address indicated by e is loaded into the PC (program counter) (branch to the address indicated by e), and the Z flag is 0 In this case, it is an instruction to execute a subsequent instruction. The instruction (JCPT NZ, A, (k), e) is obtained by changing the data stored in the T register from the data stored in the A register with the upper byte, k. The data stored in the address stored in the indicated register is subtracted from the address stored in the lower byte. If the Z flag is 0, the address indicated by e is set in the PC (program counter). It is an instruction to load (branch to an address indicated by e) and execute the subsequent instruction when the Z flag is 1.
(JCPT C,A、(k),e)命令は、Aレジスタに記憶されたデータから、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、キャリーフラグが1の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、キャリーフラグが0の場合には後続の命令を実行させる命令であり、(JCPT NC,A、(k),e)命令は、Aレジスタに記憶されたデータから、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、キャリーフラグが0の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、キャリーフラグが1の場合には後続の命令を実行させる命令である。 In the (JCPT C, A, (k), e) instruction, from the data stored in the A register, the data stored in the T register is the upper byte, and the data stored in the register indicated by k is the lower byte. The data stored in the address having the data stored in the address as the lower byte is subtracted, and when the carry flag is 1, the address indicated by e is loaded into the PC (program counter) (to the address indicated by e) Branch), and when the carry flag is 0, it is an instruction for executing the subsequent instruction. The instruction (JCPT NC, A, (k), e) is stored in the T register from the data stored in the A register. When the carry flag is 0, the stored data is subtracted from the address where the stored data is the upper byte and the data stored in the register indicated by k is the lower byte. Is an instruction for loading the address indicated by e into the PC (program counter) (branching to the address indicated by e) and executing the subsequent instruction when the carry flag is 1.
(JCPT Z,(k),ss,e)命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに1を加算したアドレスに記憶された2バイトのデータから、ssで示されるペアレジスタ(BC,DE)に記憶された2バイトのデータを減算し、Zフラグが1の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、Zフラグが0の場合には後続の命令を実行させる命令であり、(JCPT NZ,(k),ss,e)命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに1を加算したアドレスに記憶された2バイトのデータから、ssで示されるペアレジスタ(BC,DE)に記憶された2バイトのデータを減算し、Zフラグが0の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、Zフラグが1の場合には後続の命令を実行させる命令である。 The instruction (JCPT Z, (k), ss, e) adds an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte, and 1 is added to the address. The 2-byte data stored in the pair register (BC, DE) indicated by ss is subtracted from the 2-byte data stored at the specified address, and when the Z flag is 1, the address indicated by e is set to PC. (Program counter) is an instruction to load (branch to an address indicated by e) and execute the subsequent instruction when the Z flag is 0. (JCPT NZ, (k), ss, e) The data stored in the T register is the upper byte, the data stored in the register indicated by k is the lower byte, and the address obtained by adding 1 to the address. The 2-byte data stored in the pair register (BC, DE) indicated by ss is subtracted from the 2-byte data, and when the Z flag is 0, the address indicated by e is loaded into the PC (program counter). (Branch to an address indicated by e), and when the Z flag is 1, this is an instruction for executing the subsequent instruction.
(JCPT C,(k),ss,e)命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに1を加算したアドレスに記憶された2バイトのデータから、ssで示されるペアレジスタ(BC,DE)に記憶された2バイトのデータを減算し、キャリーフラグが1の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、キャリーフラグが0の場合には後続の命令を実行させる命令であり、(JCPT NC,(k),ss,e)命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに1を加算したアドレスに記憶された2バイトのデータから、ssで示されるペアレジスタ(BC,DE)に記憶された2バイトのデータを減算し、キャリーフラグが0の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、キャリーフラグが1の場合には後続の命令を実行させる命令である。 The (JCPTC C, (k), ss, e) instruction adds an address having the data stored in the T register as the upper byte, the data stored in the register indicated by k as the lower byte, and 1 to the address. The 2-byte data stored in the pair register (BC, DE) indicated by ss is subtracted from the 2-byte data stored at the specified address, and when the carry flag is 1, the address indicated by e is set to PC. It is an instruction to load (program counter) (branch to the address indicated by e) and execute the subsequent instruction when the carry flag is 0. The (JCPT NC, (k), ss, e) instruction is , An address having the data stored in the T register as the upper byte, the data stored in the register indicated by k as the lower byte, and an address obtained by adding 1 to the address The 2-byte data stored in the pair register (BC, DE) indicated by ss is subtracted from the 2-byte data stored in, and when the carry flag is 0, the address indicated by e is set to PC (program This is an instruction to load the counter) (branch to an address indicated by e) and execute the subsequent instruction when the carry flag is 1.
(JTT Z,(k)e)命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから、数値の0を減算し、Zフラグが1の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、Zフラグが0の場合には後続の命令を実行させる命令であり、(JTT NZ,(k)e)命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから、数値の0を減算し、Zフラグが0の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、Zフラグが1の場合には後続の命令を実行させる命令である。 The (JTT Z, (k) e) instruction calculates the numerical value 0 from the data stored in the address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. When the Z flag is 1, the address indicated by e is loaded into the PC (program counter) (branch to the address indicated by e), and when the Z flag is 0, the subsequent instruction is executed. The (JTT NZ, (k) e) instruction is an instruction from data stored at an address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. The numerical value 0 is subtracted, and if the Z flag is 0, the address indicated by e is loaded into the PC (program counter) (branch to the address indicated by e), and if the Z flag is 1, This is an instruction for executing a subsequent instruction.
(JBITT Z,b,(k),e)命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータのうち、bで示されるビットの反転データをZフラグに記憶し、Zフラグが1の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、Zフラグが0の場合には後続の命令を実行させる命令であり、(JBITT NZ,b,(k),e)命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータのうち、bで示されるビットの反転データをZフラグに記憶し、Zフラグが0の場合にはeで示されるアドレスをPC(プログラムカウンタ)にロードし(eで示されるアドレスに分岐し)、Zフラグが1の場合には後続の命令を実行させる命令である。
<他の命令/演算&リターン命令>
The (JBITT Z, b, (k), e) instruction includes the data stored in the address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. The inverted data of the bit indicated by b is stored in the Z flag, and when the Z flag is 1, the address indicated by e is loaded into the PC (program counter) (branch to the address indicated by e), and the Z flag Is an instruction to execute the following instruction when 0 is 0, the (JBITT NZ, b, (k), e) instruction stores the data stored in the T register in the upper byte, the register indicated by k. Of the data stored in the address having the lower data as the lower byte, the inverted data of the bit indicated by b is stored in the Z flag, and when the Z flag is 0, the address indicated by e is set to PC Program counter) in the load branches to (address indicated by e), if Z flag is 1 is an instruction to execute the subsequent instruction.
<Other instructions / arithmetic & return instructions>
演算&リターン命令は、演算と当該演算の演算結果に基づく復帰処理を行うための命令であり、例えば、RTT命令などが該当する。 The operation & return instruction is an instruction for performing a return process based on the operation and the operation result of the operation, and corresponds to, for example, an RTT instruction.
例えば、(RTT Z、(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから、数値の0を減算し、Zフラグが1の場合にはSPと(SP+1)に記憶されたアドレスをPC(プログラムカウンタ)にロードし(SPと(SP+1)で示されるアドレスに復帰し)、Zフラグが0の場合には後続の命令を実行させる命令であり、(RTT NZ、(k))命令は、Tレジスタに記憶されたデータを上位バイト、kで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから、数値の0を減算し、Zフラグが0の場合にはSPと(SP+1)に記憶されたアドレスをPC(プログラムカウンタ)にロードし(SPと(SP+1)で示されるアドレスに復帰し)、Zフラグが1の場合には後続の命令を実行させる命令である。
<他の命令/複合命令>
For example, the (RTT Z, (k)) instruction is a numerical value 0 from the data stored in the address having the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. When the Z flag is 1, the address stored in SP and (SP + 1) is loaded into the PC (program counter) (returned to the address indicated by SP and (SP + 1)), and the Z flag is 0. In the case of (1), an instruction to execute a subsequent instruction is executed. The (RTT NZ, (k)) instruction has the data stored in the T register as the upper byte and the data stored in the register indicated by k as the lower byte. The value 0 is subtracted from the data stored at the address to be loaded, and when the Z flag is 0, the address stored in SP and (SP + 1) is loaded into the PC (program counter). It returned to the address indicated by SP and (SP + 1)), if Z flag is 1 is an instruction to execute the subsequent instruction.
<Other instructions / Compound instructions>
複合命令は、複数の処理を一つにした命令であり、例えば、INCPLD命令、INCPWLD命令、DECPLD命令、DECPWLD命令などが該当する。 The compound instruction is an instruction in which a plurality of processes are combined, and includes, for example, an INCPLD instruction, an INCWLD instruction, a DECPLD instruction, and a DECPWLD instruction.
(INCPLD A,r)命令は、Aレジスタに記憶されたデータから、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータを減算し、キャリーフラグが1の場合にAレジスタに記憶されたデータに1を加算し、キャリーフラグが0の場合にAレジスタに0を記憶する命令であり、(INCPLD (HL),r)命令は、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータから、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータを減算し、キャリーフラグが1の場合に、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータに1を加算し、キャリーフラグが0の場合に、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータに0を記憶する命令である。 The (INCPLD A, r) instruction subtracts the data stored in the register (B, C, D, E, H, L) indicated by r from the data stored in the A register, and the carry flag is 1. In this case, 1 is added to the data stored in the A register, and 0 is stored in the A register when the carry flag is 0. The (INCPLD (HL), r) instruction is stored in the HL register. The data stored in the register (B, C, D, E, H, L) indicated by r is subtracted from the data stored at the address indicated by the data, and stored in the HL register when the carry flag is 1. This instruction adds 1 to the data stored at the address indicated by the read data and stores 0 in the data stored at the address indicated by the data stored in the HL register when the carry flag is 0. .
(INCPLD A,n)命令は、Aレジスタに記憶されたデータから、数値nを減算し、キャリーフラグが1の場合にAレジスタに記憶されたデータに1を加算し、キャリーフラグが0の場合にAレジスタに0を記憶する命令であり、(INCPLD (HL),n)命令は、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータから、数値nを減算し、キャリーフラグが1の場合に、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータに1を加算し、キャリーフラグが0の場合に、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータに0を記憶する命令である。 The (INCPLD A, n) instruction subtracts the numerical value n from the data stored in the A register, adds 1 to the data stored in the A register when the carry flag is 1, and the carry flag is 0 The (INCPLD (HL), n) instruction subtracts the numerical value n from the data stored at the address indicated by the data stored in the HL register, and the carry flag is 1. In this case, 1 is added to the data stored at the address indicated by the data stored in the HL register, and when the carry flag is 0, 0 is added to the data stored at the address indicated by the data stored in the HL register. Is an instruction to memorize.
(INCPLD HL,mn)命令は、HLレジスタに記憶されたデータから、数値mnを減算し、キャリーフラグが1の場合にHLレジスタに記憶されたデータに1を加算し、キャリーフラグが0の場合にHLレジスタに0を記憶する命令であり、(INCPWLD (HL),mn)命令は、HLレジスタに記憶されたデータが示すアドレスと、HLレジスタに記憶されたデータ+1が示すアドレスに記憶されたデータから、数値mnを減算し、キャリーフラグが1の場合に、HLレジスタに記憶されたデータが示すアドレスと、HLレジスタに記憶されたデータ+1が示すアドレスに記憶されたデータに1を加算し、キャリーフラグが0の場合に、HLレジスタに記憶されたデータが示すアドレスと、HLレジスタに記憶されたデータ+1が示すアドレスに記憶されたデータに0を記憶する命令である。 The (INCPLD HL, mn) instruction subtracts the numerical value mn from the data stored in the HL register, adds 1 to the data stored in the HL register when the carry flag is 1, and the carry flag is 0 The instruction (INCPWLD (HL), mn) is stored at the address indicated by the data stored in the HL register and at the address indicated by the data +1 stored in the HL register. The numerical value mn is subtracted from the data, and when the carry flag is 1, 1 is added to the data stored at the address indicated by the data stored in the HL register and the data indicated by the data +1 stored in the HL register. When the carry flag is 0, the address indicated by the data stored in the HL register and the data stored in the HL register + This is an instruction for storing 0 in the data stored at the address indicated by 1.
(DECPLD A,r)命令は、Aレジスタに記憶されたデータから1を減算し、キャリーフラグが1の場合に、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータをAレジスタに記憶し、キャリーフラグが0の場合に、Aレジスタから1を減算す命令であり、(DECPLD (HL),r)命令は、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータから、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータを減算し、キャリーフラグが1の場合に、rで示されるレジスタ(B,C,D,E,H,L)に記憶されたデータを、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータに記憶し、キャリーフラグが0の場合に、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータから1を減算する命令である。 The (DECPLD A, r) instruction subtracts 1 from the data stored in the A register, and when the carry flag is 1, stores it in the register (B, C, D, E, H, L) indicated by r. The stored data is stored in the A register, and when the carry flag is 0, 1 is subtracted from the A register. The (DECPLD (HL), r) instruction is an address indicated by the data stored in the HL register. When the data stored in the register (B, C, D, E, H, L) indicated by r is subtracted from the data stored in, and the carry flag is 1, the register (B, C, D, E, H, L) is stored in the data stored at the address indicated by the data stored in the HL register, and stored in the HL register when the carry flag is 0. Data indicated by the data This instruction subtracts 1 from the data stored in the dress.
(DECPLD A,n)命令は、Aレジスタに記憶されたデータから、数値nを減算し、キャリーフラグが1の場合に、Aレジスタに数値nを記憶し、キャリーフラグが0の場合に、Aレジスタに記憶されたデータから1を減算する命令であり、(DECPLD (HL),n)命令は、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータから、数値nを減算し、キャリーフラグが1の場合に、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータに数値nを記憶し、キャリーフラグが0の場合に、HLレジスタに記憶されたデータが示すアドレスに記憶されたデータから1を減算する命令である。 The (DECPLD A, n) instruction subtracts the numerical value n from the data stored in the A register, stores the numerical value n in the A register when the carry flag is 1, and stores the numerical value n when the carry flag is 0. This is an instruction to subtract 1 from the data stored in the register. The (DECPLD (HL), n) instruction subtracts the numerical value n from the data stored at the address indicated by the data stored in the HL register, When the flag is 1, the numerical value n is stored in the data stored at the address indicated by the data stored in the HL register. When the carry flag is 0, the numerical value n is stored at the address indicated by the data stored in the HL register. This instruction subtracts 1 from the data.
(DECPLD HL,mn)命令は、HLレジスタに記憶されたデータから、数値mnを減算し、キャリーフラグが1の場合に、HLレジスタに数値mnを記憶し、キャリーフラグが0の場合に、HLレジスタに記憶されたデータから1を減算する命令であり、(DECPWLD (HL),mn)命令は、HLレジスタに記憶されたデータが示すアドレスと、HLレジスタに記憶されたデータ+1が示すアドレスに記憶されたデータから、数値mnを減算し、キャリーフラグが1の場合に、HLレジスタに記憶されたデータが示すアドレスと、HLレジスタに記憶されたデータ+1が示すアドレスに記憶されたデータに数値mnを記憶し、キャリーフラグが0の場合に、HLレジスタに記憶されたデータが示すアドレスと、HLレジスタに記憶されたデータ+1が示すアドレスに記憶されたデータから1を減算する命令である。 The (DECPLD HL, mn) instruction subtracts the numerical value mn from the data stored in the HL register, stores the numerical value mn in the HL register when the carry flag is 1, and outputs the HL when the carry flag is 0. This is an instruction to subtract 1 from the data stored in the register. The (DECPWLD (HL), mn) instruction is an address indicated by the data stored in the HL register and an address indicated by the data +1 stored in the HL register. When the numerical value mn is subtracted from the stored data and the carry flag is 1, the numerical value is stored in the data stored in the address indicated by the data stored in the HL register and the data stored in the address indicated by the data stored in the HL register + 1. When mn is stored and the carry flag is 0, the address indicated by the data stored in the HL register and the HL register This is an instruction to subtract 1 from the data stored at the address indicated by the stored data + 1.
例えば、上述の主制御部メイン処理の基本乱数初期値更新処理(ステップS115)において、Aレジスタに普図タイマ乱数値、数値nに普図タイマ乱数値の最大値(例えば、100)をそれぞれ記憶(ロード)した後に、(INCPLD A,n)命令を実行すれば、キャリーフラグが1の場合、すなわち、普図タイマ乱数値が最大値ではない場合には、普図タイマ乱数値に1を加算し、キャリーフラグが0の場合、すなわち、普図タイマ乱数値が最大値になった場合には、普図タイマ乱数値に0を記憶することができる。このため、(INCPLD A,n)命令だけで、普図タイマ乱数値の更新を容易に行うことができ、プログラム容量の削減や、処理速度の向上を図ることができる場合がある。 For example, in the basic random number initial value update process (step S115) of the main control unit main process described above, the normal timer random number value is stored in the A register, and the maximum value (for example, 100) of the normal timer random value is stored in the numerical value n. If (INCPLD A, n) instruction is executed after (loading), if the carry flag is 1, that is, if the usual timer random number is not the maximum value, 1 is added to the ordinary timer random value. When the carry flag is 0, that is, when the usual timer random number value reaches the maximum value, 0 can be stored in the ordinary timer random value. For this reason, the usual timer random number value can be easily updated by only the (INCPLD A, n) instruction, and the program capacity may be reduced and the processing speed may be improved.
また、上述の主制御部メイン処理の基本乱数初期値更新処理(ステップS115)において、Aレジスタに普図タイマ乱数値、数値nに普図タイマ乱数値の最大値(例えば、100)をそれぞれ記憶(ロード)した後に、(DECPLD A,n)命令を実行すれば、キャリーフラグが1の場合、すなわち、普図タイマ乱数値が負の値になった場合には、普図タイマ乱数値に普図タイマ乱数値の最大値を記憶し、キャリーフラグが0の場合、すなわち、普図タイマ乱数値が負の値ではない場合には、普図タイマ乱数値から1を減算することができる。このため、(DECPLD A,n)命令だけで、普図タイマ乱数値の更新を容易に行うことができ、プログラム容量の削減や、処理速度の向上を図ることができる場合がある。なお、この例では、Aレジスタのみで乱数値を更新する例を示したが、他のレジスタ(例えば、Rレジスタ)を併用したり、ハードウェア乱数値を併用してもよい。 Further, in the basic random number initial value updating process (step S115) of the main control unit main process described above, the normal timer random number value is stored in the A register, and the maximum value (for example, 100) of the normal timer random value is stored in the numerical value n. If the (DECPLD A, n) instruction is executed after (loading), if the carry flag is 1, that is, if the usual timer random number value becomes negative, the ordinary timer random number value is When the maximum value of the figure timer random value is stored and the carry flag is 0, that is, when the common timer random number is not a negative value, 1 can be subtracted from the common timer random value. For this reason, it is possible to easily update the regular timer random number value only with the (DECPLD A, n) instruction, and it may be possible to reduce the program capacity and improve the processing speed. In this example, the random number value is updated only by the A register. However, another register (for example, R register) may be used together, or a hardware random value may be used together.
以上説明したように、本実施形態に係るパチンコ機100は、CPU(例えば、CPU304)と、遊技制御プログラムが少なくとも記憶されているROM(例えば、ROM306)と、を少なくとも備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記CPUは、少なくとも特定のレジスタ(例えば、Tレジスタ)を備え、前記遊技制御プログラムは、所定の処理(例えば、図31に示す特図1関連抽選処理)と、該所定の処理から呼び出される所定のサブ処理(例えば、図34のステップS1103の「保留数記憶領域(RWM領域のアドレスF040H)に記憶された保留数を、Aレジスタに転送する処理」)を少なくとも含み、前記所定の処理は、第一の処理と第二の処理(例えば、図31に示す、特別図柄乱数移行処理、特別図柄当り抽選処理、表示図柄抽選処理、特別図柄変動時間抽選処理、特別図柄変動時間設定処理、特別図柄保留内情報移行処理のうちの2つの処理である第一の処理と第二の処理)を少なくとも含み、前記所定のサブ処理は、前記第一の処理と前記第二の処理の両方から呼び出され、前記特定のレジスタを用いた処理は、前記所定のサブ処理で少なくとも実行可能であることを特徴とする遊技台である。 As described above, the pachinko machine 100 according to the present embodiment is a gaming machine including at least a CPU (for example, the CPU 304) and a ROM (for example, the ROM 306) in which at least a game control program is stored. The gaming table is a pachinko machine or a slot machine, and the CPU includes at least a specific register (for example, a T register), and the gaming control program performs a predetermined process (for example, FIG. 1 shown in FIG. 31). Related lottery process) and a predetermined sub-process called from the predetermined process (for example, the number of reservations stored in the “retention number storage area (RWM area address F040H)” in step S1103 in FIG. 34 is transferred to the A register. The predetermined process includes a first process and a second process (for example, as shown in FIG. 31). The first process which is two processes of the separate symbol random number transfer process, the special symbol lottery process, the display symbol lottery process, the special symbol variable time lottery process, the special symbol variable time setting process, and the special symbol on-hold information transfer process The predetermined sub-process is called from both the first process and the second process, and the process using the specific register is the predetermined sub-process. It is a gaming machine characterized by being at least executable.
なお、本発明に係る第一の処理は、主制御部メイン処理(メインループ処理)から呼び出される処理(例えば、図10の主制御部メイン処理に示す各処理)、本発明に係る第二の処理は、主制御部タイマ割込処理(タイマ割込処理)から呼び出される処理(例えば、図14の主制御部タイマ割込処理に示す各処理)でもよく、本発明に係る所定のサブ処理は、これらの主制御部メイン処理から呼び出される処理と、主制御部タイマ割込処理から呼び出される処理の両方から呼び出されるものでもよい。 The first process according to the present invention is a process called from the main control section main process (main loop process) (for example, each process shown in the main control section main process of FIG. 10), and the second process according to the present invention. The process may be a process called from the main control unit timer interrupt process (timer interrupt process) (for example, each process shown in the main control unit timer interrupt process of FIG. 14), and the predetermined sub-process according to the present invention is These may be called from both the process called from the main control part main process and the process called from the main control part timer interrupt process.
本実施形態に係るパチンコ機100によれば、2つの異なる処理(第一の処理と第二の処理)から呼び出されるサブ処理において、共通の特定のレジスタを用いた処理を実行するため、遊技制御プログラムを簡素化することができ、プログラムのコード量を従来よりも減らすことができる上に、コーディングミスの発生を減少させることができ、安定した遊技制御を行うことができる場合がある。 According to the pachinko machine 100 according to the present embodiment, in the sub-process called from two different processes (the first process and the second process), the process using the common specific register is executed. The program can be simplified, the code amount of the program can be reduced as compared with the conventional case, the occurrence of coding errors can be reduced, and stable game control can be performed in some cases.
また、前記CPUは、所定の命令(例えば、図64に示すRST命令)を少なくとも実行可能であり、前記所定の命令は、該命令が実行された処理から、予め定められたアドレス(例えば、0008H、0010H、0018H、0020H、0028H、0030H、0038H、0040Hの8種類のアドレス)に配置された処理のみを呼出可能な命令であり、前記所定のサブ処理は、前記第一の処理と前記第二の処理の両方から前記所定の命令を用いて呼出可能な処理のうちの一つであってもよい。 Further, the CPU can execute at least a predetermined instruction (for example, the RST instruction shown in FIG. 64), and the predetermined instruction has a predetermined address (for example, 0008H) from a process in which the instruction is executed. , 0010H, 0018H, 0020H, 0028H, 0030H, 0038H, and 0040H), and the predetermined sub-process includes the first process and the second process. It may be one of the processes that can be called from both of the processes using the predetermined instruction.
このような構成とすれば、遊技制御プログラムの解析や改ざんが困難となるため、不正にサブ処理を読み出すプログラムを組み込んで不正な利益を得ようとする行為や、不正にRAMに記憶された内部情報を取得するような行為を未然に防止できる場合がある。 Such a configuration makes it difficult to analyze and falsify the game control program. Therefore, it is possible to obtain an illegal profit by incorporating a program for reading out the sub-processing illegally, or an internal operation stored in the RAM illegally. There are cases where an act of acquiring information can be prevented in advance.
また、前記CPUは、前記特定のレジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるもの以外のものとして、所定の値を初期値としてセットする機能(例えば、8ビットロード(転送)命令、16ビットロード(転送)命令、スタック操作命令、複合命令など)を少なくとも有してもよい。 Further, the CPU sets a predetermined value as an initial value as a function other than a function that is performed based on receiving a load command among functions that set a value in the specific register (for example, 8 A bit load (transfer) instruction, a 16-bit load (transfer) instruction, a stack operation instruction, a composite instruction, and the like.
このような構成とすれば、遊技制御プログラムの設計の自由度を高めることができ、安定した遊技制御を行うことができる場合がある。 With such a configuration, the degree of freedom in designing the game control program can be increased, and stable game control can be performed in some cases.
また、演出制御を行う演出制御手段(例えば、第1副制御部400または第2副制御部500)を備え、前記CPUは、前記演出制御手段に搭載されず、遊技制御を行う遊技制御手段(例えば、主制御部300)にのみに搭載されていてもよい。また、演出制御を行う演出制御手段(例えば、第1副制御部400または第2副制御部500)と、払出制御を行う払出制御手段(例えば、払出制御部600)と、を備え、前記CPUは、前記演出制御手段に搭載されず、遊技制御を行う遊技制御手段(例えば、主制御部300)および前記払出制御手段のうちの少なくとも一方に搭載されていてもよい。 Further, it includes an effect control means (for example, the first sub-control unit 400 or the second sub-control part 500) for effect control, and the CPU is not mounted on the effect control means, and a game control means (game control means for performing game control). For example, it may be mounted only on the main control unit 300). Further, the CPU includes an effect control means (for example, the first sub-control unit 400 or the second sub-control part 500) for performing effect control, and a pay-out control means (for example, the pay-out control unit 600) for performing pay-out control. May be mounted on at least one of the game control means (for example, the main control unit 300) for performing game control and the payout control means, without being mounted on the effect control means.
このような構成とすれば、遊技制御プログラムの解析や改ざんを、より困難にすることができる場合がある。 With such a configuration, it may be possible to make analysis and alteration of the game control program more difficult.
また、前記CPUと前記ROMを少なくとも内蔵するマイクロプロセッサ(例えば、基本回路302)を備え、前記マイクロプロセッサは、少なくとも所定の出力端子(例えば、リセット出力端子XRSTO)を有し、前記所定の出力端子は、少なくとも所定のタイミング(例えば、ランダム延長機能の実行前)で立ち上がることが可能なものであり、前記マイクロプロセッサは、所定の条件が成立した場合(例えば、図115に示すタイムアウト時間が経過した場合)に、所定の信号(例えば、WDT起動信号(WDTタイムアウト信号)や、CPU内部の信号)を少なくとも発生させることが可能なウォッチドッグタイマ(例えば、WDT314、第一WDT314a、第二WDT314b)と、正当な指定エリア以外の記憶領域のコードが実行されたことに基づいて、指定エリア外走行禁止信号を少なくとも発生させることが可能な指定エリア外走行禁止回路(例えば、指定エリア外走行禁止回路3142)と、を少なくとも有し、前記指定エリア外走行禁止信号が発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、前記ウォッチドッグタイマのカウンタが停止している期間が少なくとも含まれていてもよい。 The microprocessor further includes a microprocessor (for example, a basic circuit 302) including at least the CPU and the ROM, and the microprocessor has at least a predetermined output terminal (for example, a reset output terminal XRSTO), and the predetermined output terminal Can be started up at least at a predetermined timing (for example, before the execution of the random extension function), and when the predetermined condition is satisfied (for example, the time-out time shown in FIG. 115 has elapsed) A watchdog timer (for example, WDT 314, first WDT 314a, second WDT 314b) capable of generating at least a predetermined signal (for example, a WDT activation signal (WDT timeout signal) or a signal inside the CPU) , Storage area code other than the legitimate designated area A non-designated area travel prohibition circuit (for example, a non-designated area travel prohibition circuit 3142) capable of generating at least a non-designated area travel prohibition signal based on the execution of The security check started during the predetermined timing after the outside travel prohibition signal is generated may include at least a period during which the watchdog timer counter is stopped.
このような構成とすれば、指定エリア外走行禁止信号に基づくリセット処理を行う際に、ウォッチドッグタイマのタイムアウトを制御プログラムによらずに(自動的に)停止させることができ、指定エリア外走行禁止信号に基づくリセット処理を迅速に行うことができる場合がある。 With such a configuration, when performing reset processing based on the travel prohibition signal outside the designated area, the watchdog timer time-out can be stopped (automatically) without depending on the control program. In some cases, the reset process based on the prohibition signal can be performed quickly.
また、上記実施形態に係る遊技台は、CPU(例えば、CPU304)と、遊技制御プログラムが少なくとも記憶されているROM(例えば、ROM306)と、を少なくとも内蔵するマイクロプロセッサ(例えば、基本回路302)を備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記マイクロプロセッサは、少なくとも所定の出力端子(例えば、リセット出力端子XRSTO)を有し、前記マイクロプロセッサは、少なくともランダム延長機能(例えば、ランダム延長処理)を有し、前記ランダム延長機能は、前記遊技制御プログラムの実行開始タイミングをランダムに変化させることが可能なものであり、前記所定の出力端子からの出力は、少なくとも所定のタイミングで第一のレベルから該第一のレベル(例えば、ローレベルの信号)よりも高い第二のレベル(例えば、ハイレベルの信号)に変化するものであり、前記所定のタイミングは、前記ランダム延長機能の実行前である、ことを特徴とする遊技台である。 In addition, the gaming machine according to the above embodiment includes a microprocessor (for example, basic circuit 302) including at least a CPU (for example, CPU 304) and a ROM (for example, ROM 306) in which at least a game control program is stored. The gaming machine is a pachinko machine or a slot machine, the microprocessor has at least a predetermined output terminal (for example, a reset output terminal XRSTO), and the microprocessor is at least randomly It has an extension function (for example, a random extension process), the random extension function is capable of randomly changing the execution start timing of the game control program, the output from the predetermined output terminal, The first level from the first level at least at a predetermined timing It changes to a second level (for example, a high level signal) higher than a bell (for example, a low level signal), and the predetermined timing is before execution of the random extension function. It is a game stand.
また、上記実施形態に係る遊技台は、CPU(例えば、CPU304)と、遊技制御プログラムを記憶するROM(例えば、ROM306)と、を少なくとも内蔵するマイクロプロセッサ(例えば、基本回路302)を備えた遊技台であって、前記マイクロプロセッサは、少なくとも所定の出力端子(例えば、リセット出力端子XRSTO)を有し、前記マイクロプロセッサは、前記所定の出力端子(例えば、リセット出力端子XRSTO)からの所定の信号出力(例えば、リセット出力信号出力)の立上りタイミングまたは立下りタイミング(例えば、ローレベル信号からハイレベル信号に変化させる立上りタイミング)を、前記遊技制御プログラムの実行開始前に行われるランダム遅延処理の開始前に実行可能である、ことを特徴とする遊技台である。 In addition, the gaming machine according to the above embodiment is a game including a microprocessor (for example, basic circuit 302) including at least a CPU (for example, CPU 304) and a ROM (for example, ROM 306) for storing a game control program. The microprocessor has at least a predetermined output terminal (for example, reset output terminal XRSTO), and the microprocessor has a predetermined signal from the predetermined output terminal (for example, reset output terminal XRSTO). Start of random delay processing that is performed before the start of execution of the game control program with respect to rising timing or falling timing of output (for example, reset output signal output) (for example, rising timing for changing from a low level signal to a high level signal) It is feasible before It is a skill base.
図127および図128は、本発明に係る所定の出力端子の信号出力の一例を説明するための図である。同図には、所定の出力端子の一例であるリセット出力端子XRSTOの出力信号の電圧変化と、本発明に係る第一のレベルであるか否かを判断するための基準電圧であるローレベルしきい値電圧VLと、本発明に係る第二のレベルであるか否かを判断するための基準電圧であるハイレベルしきい値電圧VHを示している。 127 and 128 are diagrams for explaining an example of a signal output from a predetermined output terminal according to the present invention. In the figure, the voltage change of the output signal of the reset output terminal XRSTO which is an example of the predetermined output terminal and the low level which is a reference voltage for judging whether or not the first level according to the present invention is set. A threshold voltage VL and a high level threshold voltage VH, which is a reference voltage for determining whether or not the second level according to the present invention is present, are shown.
この例では、リセット出力端子XRSTOの出力信号の電圧がローレベルしきい値電圧VLよりも低い場合には第一のレベル(ローレベル)と規定し、リセット出力端子XRSTOから出力する電圧がハイレベルしきい値電圧VHよりも高い場合には第二のレベル(ハイレベル)と規定している。なお、この例では、ローレベルしきい値電圧VLとハイレベルしきい値電圧VHにヒステリシスを持たせているが、本発明はこれに限定されず、例えば、ローレベルしきい値電圧VLとハイレベルしきい値電圧VHを同一の電圧(例えば、ハイレベルの最高電圧が5V、ローレベルの最低電圧が0Vの場合に、両者の平均の2.5V)に設定してもよい。 In this example, when the voltage of the output signal of the reset output terminal XRSTO is lower than the low level threshold voltage VL, it is defined as the first level (low level), and the voltage output from the reset output terminal XRSTO is high level. When it is higher than the threshold voltage VH, it is defined as the second level (high level). In this example, hysteresis is given to the low-level threshold voltage VL and the high-level threshold voltage VH, but the present invention is not limited to this. For example, the low-level threshold voltage VL and the high-level threshold voltage VH The level threshold voltage VH may be set to the same voltage (for example, when the high voltage is 5V and the low voltage is 0V, the average of both is 2.5V).
図127(a)では、リセット出力端子XRSTOの出力信号の電圧を、ランダム延長処理の実行開始後に、第一のレベル(ローレベル)の電圧からローレベルしきい値電圧VLを超える電圧に変化させた後に、ランダム延長処理の実行中に、さらにハイレベルしきい値電圧VHを超える電圧に変化させて第二のレベル(ハイレベル)に変化させている。同図(b)では、リセット出力端子XRSTOの出力信号の電圧を、ランダム延長処理の実行開始とほぼ同時に、第一のレベル(ローレベル)の電圧からローレベルしきい値電圧VLを超える電圧に変化させた後に、ランダム延長処理の実行中に、さらにハイレベルしきい値電圧VHを超える電圧に変化させて第二のレベル(ハイレベル)に変化させている。 In FIG. 127A, the voltage of the output signal of the reset output terminal XRSTO is changed from the first level (low level) voltage to the voltage exceeding the low level threshold voltage VL after the execution of the random extension process is started. After that, during the execution of the random extension process, the voltage is further changed to a voltage exceeding the high level threshold voltage VH to be changed to the second level (high level). In FIG. 6B, the voltage of the output signal of the reset output terminal XRSTO is changed from the first level (low level) voltage to the voltage exceeding the low level threshold voltage VL almost simultaneously with the start of the random extension processing. After the change, during execution of the random extension process, the voltage is further changed to a voltage exceeding the high level threshold voltage VH to be changed to the second level (high level).
また、同図(c)では、リセット出力端子XRSTOの出力信号の電圧を、ランダム延長処理の実行開始前に、第一のレベル(ローレベル)の電圧からローレベルしきい値電圧VLを超える電圧に変化させた後に、ランダム延長処理の実行中に、ランダム延長処理の実行開始後に、さらにハイレベルしきい値電圧VHを超える電圧に変化させて第二のレベル(ハイレベル)に変化させている。同図(d)では、リセット出力端子XRSTOの出力信号の電圧を、ランダム延長処理の実行開始前に、第一のレベル(ローレベル)の電圧からローレベルしきい値電圧VLを超える電圧に変化させた後に、ランダム延長処理の実行開始とほぼ同時に、さらにハイレベルしきい値電圧VHを超える電圧に変化させて第二のレベル(ハイレベル)に変化させている。 In FIG. 8C, the voltage of the output signal of the reset output terminal XRSTO is changed from the first level (low level) voltage to the low level threshold voltage VL before the execution of the random extension process. Then, during the execution of the random extension process, after the start of the random extension process, the voltage is further changed to a voltage exceeding the high level threshold voltage VH and changed to the second level (high level). . In FIG. 4D, the voltage of the output signal of the reset output terminal XRSTO is changed from the first level (low level) voltage to the voltage exceeding the low level threshold voltage VL before the execution of the random extension process is started. Then, almost simultaneously with the start of execution of the random extension process, the voltage is further changed to a voltage exceeding the high level threshold voltage VH to be changed to the second level (high level).
一方、同図(e)では、リセット出力端子XRSTOの出力信号の電圧を、ランダム延長処理の実行開始前に、第一のレベル(ローレベル)の電圧からローレベルしきい値電圧VLを超える電圧に変化させた後に、ランダム延長処理の実行開始前に、さらにハイレベルしきい値電圧VHを超える電圧に変化させて第二のレベル(ハイレベル)に変化させている。図128(a)では、リセット出力端子XRSTOの出力信号の電圧を、ランダム延長処理の実行開始前、かつ、固定延長処理の実行終了後に、第一のレベル(ローレベル)の電圧からローレベルしきい値電圧VLを超える電圧に変化させた後に、ランダム延長処理の実行開始前、かつ、固定延長処理の実行終了後に、さらにハイレベルしきい値電圧VHを超える電圧に変化させて第二のレベル(ハイレベル)に変化させている。また、同図(b)では、リセット出力端子XRSTOの出力信号の電圧を、ランダム延長処理の実行開始前、かつ、固定延長処理の実行終了とほぼ同時に、第一のレベル(ローレベル)の電圧からローレベルしきい値電圧VLを超える電圧に変化させた後に、ランダム延長処理の実行開始前、かつ、固定延長処理の実行終了後に、さらにハイレベルしきい値電圧VHを超える電圧に変化させて第二のレベル(ハイレベル)に変化させている。 On the other hand, in FIG. 5E, the voltage of the output signal of the reset output terminal XRSTO is changed from the first level (low level) voltage to the low level threshold voltage VL before the execution of the random extension process is started. Then, before the execution of the random extension process is started, the voltage is further changed to a voltage exceeding the high level threshold voltage VH to be changed to the second level (high level). In FIG. 128 (a), the voltage of the output signal of the reset output terminal XRSTO is lowered from the first level (low level) voltage before the start of the random extension process and after the end of the fixed extension process. After changing to a voltage exceeding the threshold voltage VL, before starting the execution of the random extension process and after completing the fixed extension process, the voltage is further changed to a voltage exceeding the high level threshold voltage VH to the second level. (High level). In FIG. 5B, the voltage of the output signal of the reset output terminal XRSTO is set to the first level (low level) voltage before the start of the random extension process and almost simultaneously with the end of the fixed extension process. After changing from a low level threshold voltage VL to a voltage exceeding the low level threshold voltage VL, before starting the execution of the random extension process and after completing the fixed extension process, the voltage is further changed to a voltage exceeding the high level threshold voltage VH. The level is changed to the second level (high level).
また、前記マイクロプロセッサは、前記所定の出力端子(例えば、リセット出力端子XRSTO)からの所定の信号出力(例えば、リセット出力信号出力)を、前記遊技制御プログラムの実行開始前に行われるランダム遅延処理の終了前(または、ランダム遅延処理中)に実行可能であっても、同様の効果を得ることができる。 In addition, the microprocessor performs a random delay process for performing a predetermined signal output (for example, reset output signal output) from the predetermined output terminal (for example, reset output terminal XRSTO) before the execution of the game control program is started. Even if it can be executed before the end of (or during random delay processing), the same effect can be obtained.
上記実施形態に係る遊技台によれば、所定の信号出力のタイミングと遊技制御プログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理(例えばソフト乱数の更新処理、初期値更新処理等)の狙い撃ちを防止することができる場合がある。 According to the gaming machine according to the above-described embodiment, it is possible to shift the timing of the predetermined signal output and the execution start timing of the game control program, so that a specific process of the game control process (for example, a soft random number update process, an initial value) In some cases, it is possible to prevent aiming of update processing and the like.
また、前記所定の出力端子はリセット信号を出力可能な端子であってもよい。このような構成とすれば、例えば、リセット信号を所定の電子部品に接続した場合、遊技制御前に電子部品が動作可能となり、不正な電波を送信した場合に電子部品が動作してしまうため、不正行為を発見しやすくなる場合がある。また、遊技制御プログラムの開始前に電子部品が動作可能なので、電子部品の作動開始タイミングと、遊技制御プログラムの実行開始タイミングとが異なると思わせることにより、遊技制御処理の特定の処理の狙い撃ちを防止することができる場合がある。 The predetermined output terminal may be a terminal capable of outputting a reset signal. With such a configuration, for example, when a reset signal is connected to a predetermined electronic component, the electronic component can operate before game control, and the electronic component operates when an unauthorized radio wave is transmitted. It may be easier to detect fraud. In addition, since electronic components can operate before the start of the game control program, by making the operation start timing of the electronic components different from the execution start timing of the game control program, it is possible to aim at specific processing of the game control processing. There are cases where it can be prevented.
また、少なくとも、セキュリティモードおよびユーザモードを備え、前記遊技制御プログラムは、前記ユーザモードで実行されるユーザプログラムであってもよい。 Further, at least a security mode and a user mode may be provided, and the game control program may be a user program executed in the user mode.
このような構成とすれば、所定の信号出力のタイミングとユーザプログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理(例えばソフト乱数の更新処理、初期値更新処理等)の狙い撃ちを防止することができる場合がある。 With such a configuration, it is possible to shift the timing of the predetermined signal output and the execution start timing of the user program, so that specific processing of game control processing (for example, soft random number update processing, initial value update processing, etc.) In some cases, it is possible to prevent sniper shooting.
また、前記遊技制御プログラムの実行開始は、システムリセットおよびユーザリセットのうちの少なくともいずれか一方を受け付けた後でおこなわれるものであってもよい。 In addition, the execution start of the game control program may be performed after receiving at least one of a system reset and a user reset.
このような構成とすれば、システムリセットまたはユーザリセットの度に所定の信号出力のタイミングと遊技制御プログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理(例えばソフト乱数の更新処理、初期値更新処理等)の狙い撃ちを防止することができる場合がある。 With such a configuration, it is possible to shift a predetermined signal output timing and a game control program execution start timing at each system reset or user reset. Update processing, initial value update processing, and the like) may be prevented.
また、少なくとも所定の入力端子を有する所定の電子部品(例えば、IC11〜IC14)を備え、前記所定の入力端子(例えば、リセット入力端子)は、前記所定の出力端子からの前記所定の信号を入力可能な端子であってもよい。 In addition, a predetermined electronic component (for example, IC11 to IC14) having at least a predetermined input terminal is provided, and the predetermined input terminal (for example, reset input terminal) inputs the predetermined signal from the predetermined output terminal. Possible terminals may be used.
このような構成とすれば、遊技制御プログラムの開始前に電子部品が動作可能なので、電子部品の作動開始タイミングと、遊技制御プログラムの実行開始タイミングとが異なると思わせることにより、遊技制御処理の特定の処理の狙い撃ちを防止することができる場合がある。 With such a configuration, the electronic component can be operated before the start of the game control program, so that the operation start timing of the electronic component and the execution start timing of the game control program are considered to be different. In some cases, it is possible to prevent a specific process from being aimed.
図129は、ユーザリセット時におけるシステムクロック信号、アドレス信号、データ信号、制御信号、およびリセット出力信号の変化を示した図である。上述のとおり、本実施形態のユーザリセットには、WDTのタイムアウトによるユーザリセットと、指定エリア外のアクセスによるユーザリセットの2種類があり、プログラム管理エリアの設定により、ユーザリセットを有効に設定している場合に機能する。 FIG. 129 is a diagram illustrating changes in the system clock signal, the address signal, the data signal, the control signal, and the reset output signal at the time of user reset. As described above, there are two types of user resets according to this embodiment: user reset due to timeout of WDT and user reset due to access outside the designated area. The user reset is set to be effective by setting the program management area. It works when there is.
WDTのタイムアウトによるユーザリセットは、WDTタイムアウト信号に基づいて発生するリセットであり、当該リセット中はアドレス信号として第一の固定値(例えば、E000h)を出力するように構成している。一方、指定エリア外のアクセスによるユーザリセットは、指定エリア外走行禁止信号に基づいて発生するリセットであり、当該リセット中はアドレス信号として第二の固定値(例えば、8000hなど、E000h以外の値)を出力するように構成している。 The user reset due to the WDT timeout is a reset that occurs based on the WDT timeout signal, and is configured to output a first fixed value (for example, E000h) as an address signal during the reset. On the other hand, the user reset due to access outside the designated area is a reset that occurs based on the travel prohibition signal outside the designated area, and during the reset, a second fixed value (for example, a value other than E000h, such as 8000h) is used as the address signal. Is output.
ユーザリセットが発生すると、CPUコア、タイマ回路、演算回路、入出力ポート、通信回路、割込みコントローラなどが初期化され、リセットアドレス(0000h)よりユーザプログラム(遊技制御プログラム)の実行を開始し、起動されていたウォッチドッグタイマも制御プログラムによらずに(自動的に)クリア&リスタートされる。 When a user reset occurs, the CPU core, timer circuit, arithmetic circuit, input / output port, communication circuit, interrupt controller, etc. are initialized, and execution of the user program (game control program) is started from the reset address (0000h) and started. The watchdog timer that has been set is also cleared and restarted (automatically) regardless of the control program.
このように、前記マイクロプロセッサは、所定の条件が成立した場合(例えば、図115に示すタイムアウト時間が経過した場合)に、所定の信号(例えば、WDT起動信号(WDTタイムアウト信号)や、CPU内部の信号)を少なくとも発生させることが可能なウォッチドッグタイマ(例えば、WDT314、第一WDT314a、第二WDT314b)と、正当な指定エリア以外の記憶領域のコードが実行されたことに基づいて、指定エリア外走行禁止信号を少なくとも発生させることが可能な指定エリア外走行禁止回路(例えば、指定エリア外走行禁止回路3142)と、を少なくとも有し、前記指定エリア外走行禁止信号が発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、前記ウォッチドッグタイマのカウンタが停止している期間が少なくとも含まれていてもよい。 As described above, when the predetermined condition is satisfied (for example, when the time-out period shown in FIG. 115 elapses), the microprocessor performs a predetermined signal (for example, a WDT activation signal (WDT time-out signal)) A designated area based on the execution of a watchdog timer (for example, WDT 314, first WDT 314a, second WDT 314b) capable of generating at least a storage area code other than a legally designated area. At least an out-of-designated area travel prohibition circuit (for example, out-of-designated-area travel prohibition circuit 3142) that can generate an out-of-designated travel prohibition signal, and after the predetermined out-of-designated area travel prohibition signal is generated During the security check that is initiated during the timing of Period during which the counter is stopped may be included at least.
なお、本発明に係る「ウォッチドッグタイマのカウンタが停止している」には、カウンタが一時的に停止している場合、カウンタが初期値や0に設定された後にカウンタが一時的に停止している場合、カウンタのカウントは継続するが、カウンタがタイムアウトする前にカウンタをクリア&リスタートし続けることによってカウンタが実質的に停止する(タイムアウトさせない)場合、カウンタの値をセキュリティチェック時間の最大処理時間よりも長く設定し、セキュリティチェック中のタイムアウトを回避することによってカウンタが実質的に停止する(タイムアウトさせない)場合などが含まれる。また、「ウォッチドッグタイマのカウンタが停止している期間」には、指定エリア外走行禁止信号の発生から当該信号の発生直後までの期間、指定エリア外走行禁止信号の発生後からシステムクロックが所定クロック経過した後(例えば、指定エリア外走行禁止信号の発生後からシステムクロックの1クロック後の立ち下がりエッジまたは立ち上がりエッジまで)、リセット出力端子XRSTOの出力信号の立上りまでの期間の一部やすべてなども含まれる。また、WDTをマイコンに内蔵し、WDTタイムアウトが発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、WDT用カウンタが停止している期間が少なくとも含まれ、WDTをマイコンに内蔵し、指定エリア外走行禁止信号が発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、WDT用カウンタが停止している期間が少なくとも含まれる。 It should be noted that “the watchdog timer counter is stopped” according to the present invention means that when the counter is temporarily stopped, the counter temporarily stops after the counter is set to the initial value or 0. If the counter continues to count, but the counter is substantially stopped (does not time out) by continuing to clear and restart the counter before the counter times out, the counter value is set to the maximum security check time. This includes a case where the counter is substantially stopped (not timed out) by setting it longer than the processing time and avoiding a timeout during the security check. In addition, in the “period when the watchdog timer counter is stopped”, the system clock is set to a predetermined period from the occurrence of the out-of-designated area travel prohibition signal to the period from the occurrence of the out-of-designated area travel prohibition signal to immediately after the generation of the signal After the clock has elapsed (for example, from the occurrence of the out-of-designated area travel prohibition signal to the falling edge or rising edge one clock after the system clock), part or all of the period from the rising edge of the output signal of the reset output terminal XRSTO Etc. are also included. Also, the WDT is built in the microcomputer, and at least the period during which the WDT counter is stopped is included in the security check that is started during the predetermined timing after the WDT timeout occurs, and the WDT is built in the microcomputer. In addition, at least a period during which the WDT counter is stopped is included in the security check that is started during the predetermined timing after the out-of-designated-area travel prohibition signal is generated.
このような構成とすれば、指定エリア外走行禁止信号に基づくリセット処理を行う際に、ウォッチドッグタイマのタイムアウトを制御プログラムによらずに(自動的に)停止させることができ、指定エリア外走行禁止信号に基づくリセット処理を迅速に行うことができる場合がある。 With such a configuration, when performing reset processing based on the travel prohibition signal outside the designated area, the watchdog timer time-out can be stopped (automatically) without depending on the control program. In some cases, the reset process based on the prohibition signal can be performed quickly.
また、本実施形態に係るパチンコ機100は、CPU(例えば、CPU304)と、遊技制御プログラムが少なくとも記憶されているROM(例えば、ROM306)と、を少なくとも備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、所定の条件が成立した場合(例えば、図115に示すタイムアウト時間が経過した場合)に、所定の信号(例えば、WDT起動信号(WDTタイムアウト信号)や、CPU内部の信号)を少なくとも発生させるウォッチドッグタイマ(例えば、WDT314、第一WDT314a、第二WDT314b)を備え、前記CPUは、前記所定の信号の発生を契機として前記遊技制御プログラムを所定のアドレス(例えば、図62に示す0000h番地)から実行可能であり、前記所定の信号の発生から前記遊技制御プログラムの実行開始までの時間を調整可能に構成されている、ことを特徴とする遊技台である。 Further, the pachinko machine 100 according to the present embodiment is a gaming machine including at least a CPU (for example, the CPU 304) and a ROM (for example, the ROM 306) in which at least a game control program is stored. Is a pachinko machine or a slot machine, and when a predetermined condition is satisfied (for example, when the timeout time shown in FIG. 115 elapses), a predetermined signal (for example, a WDT activation signal (WDT timeout signal), CPU A watchdog timer (for example, WDT 314, first WDT 314a, second WDT 314b) that generates at least an internal signal), and the CPU sends the game control program to a predetermined address (for example, triggered by the generation of the predetermined signal). 62, address 0000h shown in FIG. A gaming machine characterized by being configured to be able to adjust the time from the generation of a fixed signal to the start of execution of the gaming control program.
本実施形態に係るパチンコ機100によれば、遊技制御用プログラムが実行されるまでの時間を変化させることができ、遊技制御用プログラムの実行タイミング(例えば、当否判定の抽選タイミング)を把握するような不正行為を未然に防止でき、安定した遊技制御をおこなうことができる場合がある。 According to the pachinko machine 100 according to the present embodiment, the time until the game control program is executed can be changed, and the execution timing of the game control program (for example, the lottery timing for determination of success / failure) is grasped. In some cases, it is possible to prevent illegal acts and to perform stable game control.
なお、本発明に係るウォッチドッグタイマは、CPUと別体のもの、CPUに内蔵のもの、の両方を含み、前者の場合、リセット信号はウォッチドッグタイマからCPUに入力されるため信号線が外部に露出するが、後者の場合、リセット信号はCPU内部で配線されるため信号線は外部には露出しない。したがって、後者の場合には、WDTのタイムアウトに基づいてリセット信号が発生したか否か(CPUにリセットがかかったか否か)を隠蔽することができ、遊技制御用プログラムの実行タイミングを把握するような不正行為を、より確実に防止できる場合がある。 The watchdog timer according to the present invention includes both a CPU separate from the CPU and a built-in CPU. In the former case, the reset signal is input from the watchdog timer to the CPU, so the signal line is external. In the latter case, since the reset signal is wired inside the CPU, the signal line is not exposed to the outside. Therefore, in the latter case, it is possible to conceal whether or not the reset signal is generated based on the timeout of the WDT (whether or not the CPU is reset) and to grasp the execution timing of the game control program. In some cases, illegal acts can be prevented more reliably.
また、前記CPUと前記ROMを少なくとも内蔵するマイクロプロセッサ(例えば、基本回路302)を備え、前記マイクロプロセッサは、少なくとも所定の出力端子(例えば、リセット出力端子XRSTO)を有し、前記所定の出力端子は、少なくとも所定のタイミングで立ち上がることが可能なものであり、前記所定のタイミングは、前記遊技制御プログラムの実行開始前に行われるランダム遅延処理の開始前であってもよい。 The microprocessor further includes a microprocessor (for example, a basic circuit 302) including at least the CPU and the ROM, and the microprocessor has at least a predetermined output terminal (for example, a reset output terminal XRSTO), and the predetermined output terminal Can start at least at a predetermined timing, and the predetermined timing may be before the start of a random delay process performed before the execution of the game control program.
このような構成とすれば、所定の信号出力のタイミングと遊技制御プログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理(例えばソフト乱数の更新処理、初期値更新処理等)の狙い撃ちを防止することができる場合がある。 With such a configuration, it is possible to shift the timing of the predetermined signal output and the execution start timing of the game control program, so that specific processing of game control processing (for example, soft random number update processing, initial value update processing, etc.) ) May be prevented.
また、前記CPUは、所定の出力端子(例えば、リセット出力端子XRSTO)からの信号(例えば、リセット出力信号出力)の出力の立上りタイミングまたは立下りタイミング(例えば、ローレベル信号からハイレベル信号に変化させる立上りタイミング)を、前記遊技制御プログラムの実行開始前に行われるランダム遅延処理の開始前に実行可能であってもよい。 Further, the CPU changes the rising timing or falling timing (for example, the low level signal to the high level signal) of the output of the signal (for example, the reset output signal output) from the predetermined output terminal (for example, the reset output terminal XRSTO). May be executed before the start of the random delay process performed before the execution of the game control program.
このような構成とすれば、遊技制御用プログラムが実行されるまでの時間を変化させながらも、リセット信号の発生から所定の信号の出力までの時間を一定にすることができ、安定した遊技制御をおこなうことができる場合がある。 With such a configuration, it is possible to make the time from the generation of the reset signal to the output of the predetermined signal constant while changing the time until the game control program is executed, and stable game control May be possible.
また、前記所定の出力端子はリセット信号を出力可能な端子であってもよい。このような構成とすれば、例えば、リセット信号を所定の電子部品に接続した場合、遊技制御前に電子部品が動作可能となり、不正な電波を送信した場合に電子部品が動作してしまうため、不正行為を発見しやすくなる場合がある。また、遊技制御プログラムの開始前に電子部品が動作可能なので、電子部品の作動開始タイミングと、遊技制御プログラムの実行開始タイミングとが異なると思わせることにより、遊技制御処理の特定の処理の狙い撃ちを防止することができる場合がある。 The predetermined output terminal may be a terminal capable of outputting a reset signal. With such a configuration, for example, when a reset signal is connected to a predetermined electronic component, the electronic component can operate before game control, and the electronic component operates when an unauthorized radio wave is transmitted. It may be easier to detect fraud. In addition, since electronic components can operate before the start of the game control program, by making the operation start timing of the electronic components different from the execution start timing of the game control program, it is possible to aim at specific processing of the game control processing. There are cases where it can be prevented.
また、少なくとも、セキュリティモードおよびユーザモードを備え、前記遊技制御プログラムは、前記ユーザモードで実行されるユーザプログラムであってもよい。 Further, at least a security mode and a user mode may be provided, and the game control program may be a user program executed in the user mode.
このような構成とすれば、所定の信号出力のタイミングとユーザプログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理(例えばソフト乱数の更新処理、初期値更新処理等)の狙い撃ちを防止することができる場合がある。 With such a configuration, it is possible to shift the timing of the predetermined signal output and the execution start timing of the user program, so that specific processing of game control processing (for example, soft random number update processing, initial value update processing, etc.) In some cases, it is possible to prevent sniper shooting.
また、リセット要因を示す所定の情報(例えば、直前に発生したリセット要因がシステムリセットであるか否かを示す情報)が少なくともセットされるレジスタ(例えば、図104に示す第4内部情報レジスタ)を備え、前記遊技制御プログラムは、前記所定の情報に基づく処理(例えば、第4内部情報レジスタから読み出した情報を汎用レジスタに書き込む処理)を含まないように(実行しないように)構成してもよい。 In addition, a register (for example, a fourth internal information register shown in FIG. 104) in which at least predetermined information indicating a reset factor (for example, information indicating whether or not the reset factor generated immediately before is a system reset) is set. The game control program may be configured not to include (do not execute) processing based on the predetermined information (for example, processing to write information read from the fourth internal information register to the general-purpose register). .
このような構成とすれば、故意にCPUのリセットを発生させて特定の処理(例えばソフト乱数の更新処理、初期値更新処理等)の実行タイミングなどを狙うような不正行為を防止できる場合がある。 With such a configuration, there is a case where it is possible to prevent an illegal act such as intentionally generating a reset of the CPU and aiming at an execution timing of a specific process (for example, a soft random number update process, an initial value update process, etc.). .
また、前記マイクロプロセッサは、前記ウォッチドッグタイマと、正当な指定エリア以外の記憶領域のコードが実行されたことに基づいて、指定エリア外走行禁止信号を少なくとも発生させることが可能な指定エリア外走行禁止回路(例えば、指定エリア外走行禁止回路3142)と、を少なくとも有し、前記指定エリア外走行禁止信号が発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、前記ウォッチドッグタイマのカウンタが停止している期間が少なくとも含まれていてもよい。 Further, the microprocessor travels outside the designated area capable of generating at least a running prohibition signal outside the designated area based on the execution of the watchdog timer and a code in a storage area other than the legitimate designated area. At least a prohibition circuit (for example, a travel prohibition circuit 3142 outside the designated area), and during the security check that is started during the predetermined timing after the travel prohibition signal outside the designated area is generated, At least a period during which the counter of the timer is stopped may be included.
このような構成とすれば、指定エリア外走行禁止信号に基づくリセット処理を行う際に、ウォッチドッグタイマのタイムアウトを制御プログラムによらずに(自動的に)停止させることができ、指定エリア外走行禁止信号に基づくリセット処理を迅速に行うことができる場合がある。 With such a configuration, when performing reset processing based on the travel prohibition signal outside the designated area, the watchdog timer time-out can be stopped (automatically) without depending on the control program. In some cases, the reset process based on the prohibition signal can be performed quickly.
また、所定の周期で数値を変化させる乱数回路と、所定の抽出条件が成立したことに基づいて前記乱数回路から数値を抽出し、少なくとも該数値に基づいて遊技に関する抽選を行う処理を含む遊技制御処理を行うためのCPUと、前記遊技制御処理の内容が予め記憶されているROMと、一時的にデータを記憶するためのRAMと、を含んで構成されたマイクロコンピューターを備え、前記CPUは、電源が遮断される場合に実行される処理であって、前記RAMの所定領域に当該処理が行われたことを示す所定のデータを記憶させる処理を含む電断時処理を行い、前記CPUは、前記所定のデータが記憶されている場合には、前記RAM領域を初期化する初期化処理を行うことなく前記遊技制御処理を復帰させることが可能である一方、前記所定のデータが記憶されていない場合には、該初期化処理を行うことなく前記遊技制御処理を復帰させることが不可能であり、前記マイクロコンピューターは、電源が投入された場合に入力される起動信号が入力されてから前記遊技制御処理が開始されるまでの時間の長さをランダムに変動させる時間変動処理を行う時間変動用回路、および正当な指定エリア以外の記憶領域のコードが実行されたことに基づいて指定エリア外走行禁止信号を発生させる指定エリア外走行禁止回路を、含んで構成され、前記CPUは、前記起動信号が入力されたことに基づいて実行されるシステムリセットの場合には、前記マイクロコンピューターによって、前記ROMが記憶している前記遊技制御処理の内容に異常がないかをチェックする処理および前記時間変動処理を含むセキュリティチェックが行われた後に、前記遊技制御処理を開始し、前記CPUは、前記指定エリア外走行禁止信号が発生したことに基づいて実行されるユーザリセットの場合には、前記マイクロコンピューターによって、前記セキュリティチェックが行われないことで、前記時間変動処理が行われず、前記遊技制御処理を開始し、前記システムリセットおよび前記ユーザリセットのいずれの場合であっても、前記CPUによって前記電断処理が行われず、前記所定領域に前記所定のデータが記憶されないことを特徴とする遊技台としてもよい。 Also, a game control including a random number circuit that changes a numerical value at a predetermined period, and a process of extracting a numerical value from the random number circuit based on the fact that a predetermined extraction condition is satisfied and performing a lottery regarding a game based on the numerical value And a microcomputer including a CPU for performing processing, a ROM in which the contents of the game control processing are stored in advance, and a RAM for temporarily storing data. A process that is executed when the power is shut off, and includes a process of storing predetermined data indicating that the process has been performed in a predetermined area of the RAM. When the predetermined data is stored, it is possible to return the game control process without performing an initialization process for initializing the RAM area. If the predetermined data is not stored, it is impossible to return the game control process without performing the initialization process, and the microcomputer is activated when the power is turned on. A time variation circuit for performing a time variation process for randomly varying the length of time from when a signal is input to when the game control process is started, and a code for a storage area other than a valid designated area are executed. A non-designated area running prohibition circuit for generating a non-designated area running prohibition signal based on the above, and in the case of a system reset that is executed based on the input of the start signal A process for checking whether the contents of the game control process stored in the ROM are abnormal by the microcomputer; and After the security check including the inter-process variation process is performed, the game control process is started, and in the case of a user reset that is executed based on the occurrence of the out-of-designated-area travel prohibition signal, the CPU Since the security check is not performed by the microcomputer, the time variation process is not performed, the game control process is started, and the CPU performs the game control process regardless of the system reset or the user reset. The game machine may be characterized in that no power interruption process is performed and the predetermined data is not stored in the predetermined area.
また、本実施形態に係る遊技機(例えば、スロットマシン1100)は、CPU(例えば、CPU1304)と、制御プログラムが少なくとも記憶されたROM(例えば、ROM1306)と、データを一時記憶可能なRAM(例えば、RAM1308)と、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、スロットマシンであり、前記RAMの先頭アドレスの上位バイトは、前記ROMの先頭アドレスの上位バイトよりも大きく、前記CPUは、少なくとも第一のレジスタ(例えば、特定レジスタ)を有し、前記CPUは、少なくとも第二のレジスタ(例えば、フラグレジスタ)を有し、前記第一のレジスタは、複数の方法のうちのいずれかの方法で値をセット可能なレジスタであり、前記複数の方法のうちの少なくとも一つは、第一の方法であり、前記複数の方法のうちの少なくとも一つは、第二の方法であり、前記第一の方法は、直値により値をセットする方法であり、前記第二の方法は、前記RAMの先頭アドレスの上位バイトと同じ値を初期値としてセットする方法であり、前記CPUは、前記第一のレジスタに値をセットする機能のうち、LD命令を受けたことに基づいて行われる機能としては、前記第一の方法により値がセットされる機能のみを有し、前記CPUは、前記第一のレジスタに値をセットする機能のうち、前記LD命令を受けたことに基づいて行われる機能以外の機能としては、前記第二の方法により値がセットされる機能を少なくとも有し、前記第二の方法は、前記制御プログラムによらずに実行され、前記制御プログラムは、前記複数の方法のうちのいずれかの方法で値がセットされた前記第一のレジスタを用いて前記RAMをアクセスする命令を少なくとも含むプログラムであり、前記第二のレジスタは、フラグレジスタ(例えば、Fレジスタ)であり、前記第二のレジスタの一のビットは、第一のフラグジスタ(例えば、ゼロフラグ)として機能するビットであり、前記第二のレジスタの一のビットは、第二のフラグジスタ(例えば、セカンドゼロフラグ)として機能するビットである、ことを特徴とする遊技台である。 In addition, the gaming machine (for example, the slot machine 1100) according to the present embodiment includes a CPU (for example, the CPU 1304), a ROM (for example, the ROM 1306) in which at least a control program is stored, and a RAM (for example, a RAM that can temporarily store data). , RAM 1308), and a gaming machine equipped with a microcomputer, the gaming machine is a slot machine, and the upper byte of the first address of the RAM is larger than the upper byte of the first address of the ROM The CPU has at least a first register (eg, a specific register), the CPU has at least a second register (eg, a flag register), and the first register has a plurality of methods. A register whose value can be set by any one of the methods, At least one is a first method, at least one of the plurality of methods is a second method, and the first method is a method of setting a value by a direct value, The second method is a method of setting the same value as the upper byte of the top address of the RAM as an initial value, and the CPU receives an LD instruction among functions for setting a value in the first register. As a function performed based on the above, the CPU has only a function for setting a value by the first method, and the CPU executes the LD instruction among the functions for setting a value in the first register. As a function other than the function performed based on the received, at least a function for setting a value by the second method, the second method is executed without depending on the control program, Control program , A program including at least an instruction to access the RAM using the first register in which a value is set by any one of the plurality of methods, and the second register is a flag register (for example, , F register), and one bit of the second register is a bit functioning as a first flag register (for example, zero flag), and one bit of the second register is a second flag register ( For example, it is a bit that functions as a second zero flag).
また、本実施形態に係る遊技機(例えば、ぱちんこ機100)は、CPU(例えば、CPU304)と、制御プログラムが少なくとも記憶されたROM(例えば、ROM306)と、データを一時記憶可能なRAM(例えば、RAM308)と、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、ぱちんこ機であり、前記RAMの先頭アドレスの上位バイトは、前記ROMの先頭アドレスの上位バイトよりも大きく、前記CPUは、少なくとも第一のレジスタ(例えば、特定レジスタ)を有し、前記CPUは、少なくとも第二のレジスタ(例えば、フラグレジスタ)を有し、前記第一のレジスタは、複数の方法のうちのいずれかの方法で値をセット可能なレジスタであり、前記複数の方法のうちの少なくとも一つは、第一の方法であり、前記複数の方法のうちの少なくとも一つは、第二の方法であり、前記第一の方法は、直値により値をセットする方法であり、前記第二の方法は、前記RAMの先頭アドレスの上位バイトと同じ値を初期値としてセットする方法であり、前記CPUは、前記第一のレジスタに値をセットする機能のうち、LD命令を受けたことに基づいて行われる機能としては、前記第一の方法により値がセットされる機能のみを有し、前記CPUは、前記第一のレジスタに値をセットする機能のうち、前記LD命令を受けたことに基づいて行われる機能以外の機能としては、前記第二の方法により値がセットされる機能を少なくとも有し、前記第二の方法は、前記制御プログラムによらずに実行され、前記制御プログラムは、前記複数の方法のうちのいずれかの方法で値がセットされた前記第一のレジスタを用いて前記RAMをアクセスする命令を少なくとも含むプログラムであり、前記第二のレジスタは、フラグレジスタ(例えば、Fレジスタ)であり、前記第二のレジスタの一のビットは、第一のフラグジスタ(例えば、ゼロフラグ)として機能するビットであり、前記第二のレジスタの一のビットは、第二のフラグジスタ(例えば、セカンドゼロフラグ)として機能するビットである、ことを特徴とする遊技台である。 In addition, a gaming machine (for example, pachinko machine 100) according to the present embodiment includes a CPU (for example, CPU 304), a ROM (for example, ROM 306) in which at least a control program is stored, and a RAM (for example, a RAM that can temporarily store data). , RAM 308), and a gaming machine having a microcomputer built therein, the gaming machine is a pachinko machine, and the upper byte of the first address of the RAM is larger than the upper byte of the first address of the ROM The CPU has at least a first register (eg, a specific register), the CPU has at least a second register (eg, a flag register), and the first register has a plurality of methods. A register whose value can be set by any one of the methods, wherein at least one of the plurality of methods is: One method, at least one of the plurality of methods is a second method, the first method is a method of setting a value by a direct value, and the second method is: In this method, the same value as the upper byte of the top address of the RAM is set as an initial value, and the CPU is performed based on receiving an LD instruction among functions for setting a value in the first register. As a function, the CPU has only a function in which a value is set by the first method, and the CPU executes a function based on receiving the LD instruction among functions for setting a value in the first register. As a function other than the function to be displayed, it has at least a function in which a value is set by the second method. The second method is executed without depending on the control program. Direction The program includes at least an instruction for accessing the RAM using the first register in which a value is set by any one of the methods, and the second register is a flag register (for example, an F register) And one bit of the second register is a bit functioning as a first flag register (for example, a zero flag), and one bit of the second register is a second flag register (for example, a second zero flag). It is a gaming machine characterized by being a bit that functions as
本実施形態に係るスロットマシン1100またはぱちんこ機100によれば、RAMの先頭アドレスの上位バイトと同じ値を第一のレジスタの初期値としてセットすることが可能なため、第一のレジスタを用いてRAMにアクセスする場合には、RAMの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することができる場合がある。 According to the slot machine 1100 or the pachinko machine 100 according to the present embodiment, the same value as the upper byte of the start address of the RAM can be set as the initial value of the first register. When accessing the RAM, only the lower address of the RAM needs to be specified, and it may be possible to reduce the amount of program code and improve the processing speed.
また、制御プログラムによらずに、RAMの先頭アドレスの上位バイトと同じ値を第一のレジスタの初期値としてセットすることが可能なため、電源投入後、第一のレジスタに値をセットする操作をせずに、第一のレジスタを用いてRAMのアクセスを行うことが可能になり、第一のレジスタの値が誤っていることから意図しないアドレスの情報をアクセスしてしまうといった不具合を未然に防止できる場合がある。 In addition, since it is possible to set the same value as the upper byte of the top address of the RAM as the initial value of the first register regardless of the control program, the operation to set the value in the first register after power-on It is possible to access the RAM without using the first register, and the problem that the information of the unintended address is accessed because the value of the first register is incorrect will occur. Sometimes it can be prevented.
しかも、第一のレジスタに値をセットする機能のうち、LD命令を受けたことに基づいて行われる機能としては、直値により値がセットされる機能のみを有するため、第一のレジスタの値を不用意に変更することができなくなる結果、アドレスの設定ミスや、RAMへのデータの読み書きミスなどの発生を回避することができ、安定した制御(例えば、遊技制御)を行うことができる場合がある。 In addition, among the functions for setting a value in the first register, the function performed based on receiving the LD instruction has only a function for setting a value by a direct value. As a result, it is possible to avoid occurrence of address setting mistakes, data read / write mistakes to RAM, etc., and stable control (for example, game control) can be performed. There is.
また、第一のレジスタが頻繁に演算に用いられることにより、意図しない演算結果が記憶されたレジスタ経由で、間違った値が第一のレジスタにセットされてしまうような不具合の発生を未然に防止できる場合がある。 In addition, since the first register is frequently used for operations, it is possible to prevent the occurrence of a problem that an incorrect value is set in the first register via a register that stores an unintended operation result. There are cases where it is possible.
また、第一のレジスタにセットしている値をソースコード上で目視で容易に確認することができるため、コーディングの見直し作業やデバッグの効率を高めることができ、従来よりもミスの発生を大幅に減らすことができ、安定した制御(例えば、遊技制御)を行うことができる場合がある。 In addition, since the value set in the first register can be easily confirmed visually on the source code, the coding review work and debugging efficiency can be improved, and the occurrence of mistakes is greater than before. In some cases, stable control (for example, game control) can be performed.
また、第一のレジスタは、レジスタを介した値のセットと直値による値のセットの両方が認められている使い勝手の良い他のレジスタよりも相対的に使用頻度が低くなるため、コーディングの見直し作業やデバッグの効率を高めることができる場合がある。 In addition, the first register is used less frequently than other easy-to-use registers that allow both a set of values through the register and a set of values as direct values. There are cases where the efficiency of work and debugging can be increased.
また、第一のフラグレジスタとして機能するビットと、第二のフラグレジスタとして機能するビットを有するフラグレジスタを備えることで、これらの二つのフラグを含む複数のフラグの値を変化させる命令や、二つのフラグのうちいずれか一方のみが変化する命令を実行することができ、これらを組み合わせることで、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。 In addition, by providing a flag register having a bit that functions as a first flag register and a bit that functions as a second flag register, an instruction that changes the values of a plurality of flags including these two flags, An instruction that changes only one of the two flags can be executed, and combining these can complicate the relationship between the change in the contents of the flag register and the flow of program execution. In some cases, analysis is difficult and analysis of an illegal program can be prevented.
また、前記LD命令とは、レジスタに値を転送するロード命令の一種のことである、ものとしてもよい。 The LD instruction may be a kind of load instruction for transferring a value to a register.
また、前記第一のレジスタ(例えば、特定レジスタ)は、リセット(例えば、システムリセット)が発生した場合に前記初期値がセットされる、ものとしてもよい。
また、前記リセットとは、システムリセットのことである、ものとしてもよい。
The first register (for example, a specific register) may be configured such that the initial value is set when a reset (for example, a system reset) occurs.
The reset may be a system reset.
また、前記複数の方法のうちの少なくとも一つは、第三の方法であり、前記第三の方法は、前記CPUにおける前記第一のレジスタに値をセットする機能のうち、前記LD命令を受けたことに基づいて行われる機能以外の機能による方法であり、前記第三の方法は、スタック操作命令を受けたことに基づいて行われる機能による方法である、ものとしてもよい。 In addition, at least one of the plurality of methods is a third method, and the third method receives the LD instruction among functions for setting a value in the first register in the CPU. The third method may be a method using a function performed based on receipt of a stack operation instruction.
また、前記マイクロコンピュータは、セキュリティモードを経てユーザモードに移行可能なものであり、前記制御プログラムは、前記ユーザモードにおいて、前記CPUによって実行され、前記セキュリティモードにおいて、前記制御プログラムが正常なプログラムかどうかのチェックが行われる、ものとしてもよい。 Further, the microcomputer is capable of shifting to a user mode through a security mode, and the control program is executed by the CPU in the user mode, and whether the control program is a normal program in the security mode. It is good also as what is checked.
また、前記マイクロコンピュータが少なくとも設けられた払出制御(例えば、払出制御部600)手段を備え、前記払出制御手段は、少なくとも賞球を払出する払出制御を少なくとも実行可能な制御手段であり、前記制御プログラムとは、払出制御プログラムのことである、ものとしてもよい。 The microcomputer includes at least a payout control (for example, payout control unit 600) provided with the microcomputer, and the payout control means is a control means capable of executing at least payout control for paying out a prize ball. The program may be a payout control program.
また、前記マイクロコンピュータが少なくとも設けられた主制御手段(例えば、主制御部1300、主制御部300)を備え、前記主制御手段は、少なくとも賞球を払出する払出制御を少なくとも実行可能な払出制御手段(例えば、払出制御部600)に対して、コマンド(例えば、電源投入情報を含めたコマンドなど)を少なくとも送信可能な制御手段である、ものとしてもよい。 The main control means (for example, the main control unit 1300 and the main control unit 300) provided with at least the microcomputer is provided, and the main control means can execute at least payout control for paying out a prize ball. Control means capable of transmitting at least a command (for example, a command including power-on information) to the means (for example, the payout control unit 600) may be used.
また、本実施形態に係る遊技機(例えば、ぱちんこ機100)は、CPU(例えば、CPU304)と、遊技制御プログラムが少なくとも記憶されたROM(例えば、ROM306)と、データを一時記憶可能なRAM(例えば、RAM308)と、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、ぱちんこ機またはスロットマシンであり、前記RAMの先頭アドレスの上位バイトは、前記ROMの先頭アドレスの上位バイトよりも大きく、前記CPUは、少なくとも第一のレジスタ(例えば、特定レジスタ)を有し、前記第一のレジスタは、複数の方法のうちのいずれかの方法で値をセット可能なレジスタであり、前記複数の方法のうちの少なくとも一つは、第一の方法であり、前記複数の方法のうちの少なくとも一つは、第二の方法であり、前記第一の方法は、直値により値をセットする方法であり、前記第二の方法は、前記RAMの先頭アドレスの上位バイトと同じ値を初期値としてセットする方法であり、前記CPUは、前記第一のレジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われる機能としては、前記第一の方法により値がセットされる機能のみを有し、前記CPUは、前記第一のレジスタに値をセットする機能のうち、前記ロード命令を受けたことに基づいて行われる機能以外の機能としては、前記第二の方法により値がセットされる機能を少なくとも有し、前記第二の方法は、前記遊技制御プログラムによらずに実行され、前記遊技制御プログラムの少なくとも一部は、第一のプログラムであり、前記遊技制御プログラムの少なくとも一部は、第二のプログラムであり、前記遊技制御プログラムの少なくとも一部は、第三のプログラムであり、前記第三のプログラムは、前記第一のプログラムから少なくとも呼び出されるプログラムであり、前記第三のプログラムは、前記第二のプログラムから少なくとも呼び出されるプログラムであり、前記第三のプログラムは、前記複数の方法のうちのいずれかの方法で値がセットされた前記第一のレジスタを用いて前記RAMをアクセスする命令を少なくとも含むプログラムである、ことを特徴とする遊技台である。 In addition, a gaming machine (for example, pachinko machine 100) according to the present embodiment includes a CPU (for example, CPU 304), a ROM (for example, ROM 306) in which at least a game control program is stored, and a RAM (for which data can be temporarily stored) ( For example, the gaming machine is a pachinko machine or a slot machine, and the upper byte of the first address of the RAM is higher than the first address of the ROM. Larger than a byte, the CPU has at least a first register (for example, a specific register), and the first register is a register whose value can be set by any one of a plurality of methods. , At least one of the plurality of methods is a first method, and at least one of the plurality of methods. One is a second method, the first method is a method of setting a value by a direct value, and the second method is the same as the upper byte of the head address of the RAM as an initial value. Among the functions for setting a value in the first register, the CPU performs a function based on receiving a load instruction, and the value is set by the first method. Among the functions for setting a value in the first register, the CPU has a function other than the function performed based on the reception of the load instruction. At least a function for setting a value; the second method is executed without depending on the game control program; at least a part of the game control program is a first program; At least a part of the control program is a second program, at least a part of the game control program is a third program, and the third program is a program that is called at least from the first program. And the third program is a program that is called at least from the second program, and the third program has the value set by any one of the plurality of methods. A game machine comprising: a program including at least an instruction for accessing the RAM using a register.
このような構成によれば、RAMの先頭アドレスの上位バイトと同じ値を第一のレジスタの初期値としてセットすることが可能なため、第一のレジスタを用いてRAMにアクセスする場合には、RAMの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することができる場合がある。 According to such a configuration, since it is possible to set the same value as the upper byte of the head address of the RAM as the initial value of the first register, when accessing the RAM using the first register, Only the lower address of the RAM needs to be specified, and there are cases where the amount of program code can be reduced and the processing speed can be improved.
また、制御プログラムによらずに、RAMの先頭アドレスの上位バイトと同じ値を第一のレジスタの初期値としてセットすることが可能なため、電源投入後、第一のレジスタに値をセットする操作をせずに、第一のレジスタを用いてRAMのアクセスを行うことが可能になり、第一のレジスタの値が誤っていることから意図しないアドレスの情報をアクセスしてしまうといった不具合を未然に防止できる場合がある。 In addition, since it is possible to set the same value as the upper byte of the top address of the RAM as the initial value of the first register regardless of the control program, the operation to set the value in the first register after power-on It is possible to access the RAM without using the first register, and the problem that the information of the unintended address is accessed because the value of the first register is incorrect will occur. Sometimes it can be prevented.
しかも、第一のレジスタに値をセットする機能のうち、LD命令を受けたことに基づいて行われる機能としては、直値により値がセットされる機能のみを有するため、第一のレジスタの値を不用意に変更することができなくなる結果、アドレスの設定ミスや、RAMへのデータの読み書きミスなどの発生を回避することができ、安定した制御(例えば、遊技制御)を行うことができる場合がある。 In addition, among the functions for setting a value in the first register, the function performed based on receiving the LD instruction has only a function for setting a value by a direct value. As a result, it is possible to avoid occurrence of address setting mistakes, data read / write mistakes to RAM, etc., and stable control (for example, game control) can be performed. There is.
また、第一のレジスタが頻繁に演算に用いられることにより、意図しない演算結果が記憶されたレジスタ経由で、間違った値が第一のレジスタにセットされてしまうような不具合の発生を未然に防止できる場合がある。 In addition, since the first register is frequently used for operations, it is possible to prevent the occurrence of a problem that an incorrect value is set in the first register via a register that stores an unintended operation result. There are cases where it is possible.
また、第一のレジスタにセットしている値をソースコード上で目視で容易に確認することができるため、コーディングの見直し作業やデバッグの効率を高めることができ、従来よりもミスの発生を大幅に減らすことができ、安定した制御(例えば、遊技制御)を行うことができる場合がある。 In addition, since the value set in the first register can be easily confirmed visually on the source code, the coding review work and debugging efficiency can be improved, and the occurrence of mistakes is greater than before. In some cases, stable control (for example, game control) can be performed.
また、第一のレジスタは、レジスタを介した値のセットと直値による値のセットの両方が認められている使い勝手の良い他のレジスタよりも相対的に使用頻度が低くなるため、コーディングの見直し作業やデバッグの効率を高めることができる場合がある。 In addition, the first register is used less frequently than other easy-to-use registers that allow both a set of values through the register and a set of values as direct values. There are cases where the efficiency of work and debugging can be increased.
また、前記第二のプログラムは、前記第一のプログラムから呼び出されるプログラムである、ものとしてもよい。 The second program may be a program called from the first program.
また、前記CPUは、前記第一のレジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われる機能以外の機能として、初期値をセットする機能を少なくとも有する、ものとしてもよい。 The CPU may have at least a function of setting an initial value as a function other than a function performed based on receiving a load command among functions for setting a value in the first register. Good.
また、前記第一のレジスタは、リセットが発生した場合に前記初期値がセットされる、ものとしてもよい。 The first register may be set to the initial value when a reset occurs.
また、前記CPUは、前記第一のレジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われる機能以外の機能として、スタック操作命令を受けたことに基づいて行われる機能を少なくとも有する、ものとしてもよい。 In addition, among the functions for setting a value in the first register, the CPU performs a function performed based on receiving a stack operation instruction as a function other than a function performed based on receiving a load instruction. It is good also as what has at least.
また、前記CPUは、少なくとも複数のレジスタを有し、前記複数のレジスタのうちの少なくとも一つは、前記第一のレジスタであり、前記複数のレジスタのうちの少なくとも一つは、第二のレジスタであり、前記第二のレジスタは、フラグレジスタである、ものとしてもよい。 The CPU includes at least a plurality of registers, at least one of the plurality of registers is the first register, and at least one of the plurality of registers is a second register. The second register may be a flag register.
また、前記マイクロコンピュータは、ウォッチドッグタイマ(例えば、WDT314)を少なくとも内蔵するものである、ものとしてもよい。 Further, the microcomputer may include at least a watch dog timer (for example, WDT 314).
また、前記マイクロコンピュータは、IAT回路を少なくとも内蔵するものであり、前記IAT回路とは、正当な指定エリア以外の記憶領域のコードが実行されたことに基づいて、指定エリア外走行禁止信号を少なくとも発生させることが可能な回路のことである、ものとしてもよい。 Further, the microcomputer includes at least an IAT circuit, and the IAT circuit is configured to output at least an out-of-designated area travel prohibition signal based on execution of a code in a storage area other than a valid designated area. It may be a circuit that can be generated.
また、前記マイクロコンピュータは、乱数生成回路(例えば、乱数生成回路318)を少なくとも内蔵するものである、ものとしてもよい。 The microcomputer may include at least a random number generation circuit (for example, a random number generation circuit 318).
また、前記マイクロコンピュータは、セキュリティモードを経てユーザモードに移行可能なものであり、前記プログラムは、前記ユーザモードにおいて、前記CPUによって実行され、前記セキュリティモードにおいて、前記ROMのプログラムが正常なプログラムかどうかのチェックが行われる、ものとしてもよい。 In addition, the microcomputer can be shifted to a user mode through a security mode, and the program is executed by the CPU in the user mode, and whether the ROM program is a normal program in the security mode. It is good also as what is checked.
また、前記マイクロコンピュータが少なくとも設けられた制御手段(例えば、主制御部300)を備え、前記制御手段は、賞球を払出する払出制御を少なくとも実行可能なものである、ものとしてもよい。 The microcomputer may include a control unit (for example, the main control unit 300) provided with at least the microcomputer, and the control unit may execute at least a payout control for paying out a prize ball.
また、前記制御手段(以下、「第一の制御手段」という。)は、第二の制御手段(例えば、払出制御部600)に対してコマンドを少なくとも送信可能なものであり、前記第二の制御手段は、賞球を払出する払出制御を少なくとも実行可能なものである、ものとしてもよい。 The control means (hereinafter referred to as “first control means”) can transmit at least a command to a second control means (for example, the payout control unit 600), and the second control means The control means may be capable of executing at least a payout control for paying out a prize ball.
また、前記第二の制御手段に設けられたマイクロコンピュータが内蔵しているCPUは、前記第一のレジスタを内蔵するものである、ものとしてもよい。 Further, the CPU built in the microcomputer provided in the second control means may include the first register.
また、前記第一の制御手段は、第三の制御手段(例えば、第1副制御部400)に対してコマンドを送信可能なものであり、前記第三の制御手段は、遊技を演出する演出制御を少なくとも実行可能なものであり、前記第三の制御手段に設けられたマイクロコンピュータが内蔵しているCPUは、前記第一のレジスタを内蔵していない、ものとしてもよい。 The first control means is capable of transmitting a command to a third control means (for example, the first sub-control unit 400), and the third control means is an effect that produces a game. The CPU that can execute at least the control and that is built in the microcomputer provided in the third control means may not include the first register.
なお、本発明に係る遊技台は、封入式ぱちんこ機やメダルレススロットマシンに適用することもできる。また、主制御部、第1副制御部、および第2副制御部をワンチップで構成してもよいし、主制御部と第1副制御部で双方向の通信が可能に構成してもよい。また、主制御部と第1副制御部で双方向の通信を可能とする一方で、第1副制御部から第2副制御部への通信は一方向の通信としてもよい。 The game stand according to the present invention can also be applied to a sealed pachinko machine or a medalless slot machine. In addition, the main control unit, the first sub control unit, and the second sub control unit may be configured as a single chip, or the main control unit and the first sub control unit may be configured to allow bidirectional communication. Good. Moreover, while enabling bidirectional communication between the main control unit and the first sub control unit, communication from the first sub control unit to the second sub control unit may be one-way communication.
また、本発明の実施の形態に記載された作用および効果は、本発明から生じる最も好適な作用および効果を列挙したに過ぎず、本発明による作用および効果は、本発明の実施の形態に記載されたものに限定されるものではない。また、実施形態に記載した複数の構成のうち、1つの構成に記載している内容を、他の構成に適用することでより遊技の幅を広げられる場合がある。したがって、例えば、WDTに基づくリセットに関する記載において、WDTタイムアウト信号(WDT起動信号)を指定エリア外走行禁止信号に読み替えて適用してもよい。 Further, the actions and effects described in the embodiments of the present invention only list the most preferable actions and effects resulting from the present invention, and the actions and effects according to the present invention are described in the embodiments of the present invention. It is not limited to what was done. Further, in some cases, the contents described in one configuration among the plurality of configurations described in the embodiments may be applied to other configurations to further widen the game. Therefore, for example, in the description related to the reset based on WDT, the WDT timeout signal (WDT activation signal) may be replaced with the out-of-designated area travel prohibition signal.
本発明に係る遊技台は、回胴遊技機(スロットマシン)や弾球遊技球(ぱちんこ機)などに代表される遊技台に適用することができる。 The game machine according to the present invention can be applied to game machines represented by a spinning machine (slot machine), a ball game machine (pachinko machine), and the like.
100 パチンコ機
208 装飾図柄表示装置
208d 演出領域
212 第1特図表示装置
214 第2特図表示装置
230 第1特図始動口
232 第2特図始動口
2321 羽根部材
234 可変入賞口
2341 扉部材
300 主制御部
304 CPU
306 ROM
308 RAM
310 I/O
311 タイマ回路
312 カウンタ回路
314 リセット制御回路
318 乱数生成回路
400 第1副制御部
404 CPU
406 ROM
408 RAM
500 第2副制御部
600 払出制御部
1100 スロットマシン
1300 主制御部
1304 CPU
1306 ROM
1308 RAM
1310 I/O
1400 第1副制御部
1500 第2制御部
100 パチンコ機
100' スロットマシン
110'〜112' リール
130'〜132' ベットボタン
135' スタートレバー
137'〜139' ストップボタン
157' 液晶表示装置
200' ベットボタンランプ
272',277' スピーカ
420' 各種ランプ
300' 主制御部
400' 第1副制御部
DESCRIPTION OF SYMBOLS 100 Pachinko machine 208 Decoration symbol display device 208d Production area 212 1st special drawing display device 214 2nd special drawing display device 230 1st special drawing start port 232 2nd special drawing start port 2321 Blade member 234 Variable prize opening 2341 Door member 300 Main control unit 304 CPU
306 ROM
308 RAM
310 I / O
311 Timer circuit 312 Counter circuit 314 Reset control circuit 318 Random number generation circuit 400 First sub-control unit 404 CPU
406 ROM
408 RAM
500 Second sub-control unit 600 Dispensing control unit 1100 Slot machine 1300 Main control unit 1304 CPU
1306 ROM
1308 RAM
1310 I / O
1400 First sub-control unit 1500 Second control unit 100 Pachinko machine 100 'Slot machine 110'-112' Reel 130'-132 'Bet button 135' Start lever 137'-139 'Stop button 157' Liquid crystal display device 200 'Bet Button lamps 272 ′, 277 ′ Speaker 420 ′ Various lamps 300 ′ Main control unit 400 ′ First sub control unit
Claims (9)
制御プログラムが少なくとも記憶されたROMと、
データを一時記憶可能なRAMと、
を内蔵するマイクロコンピュータを備えた遊技台であって、
前記遊技台は、スロットマシンであり、
前記RAMの先頭アドレスの上位バイトは、前記ROMの先頭アドレスの上位バイトよりも大きく、
前記CPUは、少なくとも第一のレジスタを有し、
前記CPUは、少なくとも第二のレジスタを有し、
前記第一のレジスタは、複数の方法のうちのいずれかの方法で値をセット可能なレジスタであり、
前記複数の方法のうちの少なくとも一つは、第一の方法であり、
前記複数の方法のうちの少なくとも一つは、第二の方法であり、
前記第一の方法は、直値により値をセットする方法であり、
前記第二の方法は、前記RAMの先頭アドレスの上位バイトと同じ値を初期値としてセットする方法であり、
前記CPUは、前記第一のレジスタに値をセットする機能のうち、LD命令を受けたことに基づいて行われる機能としては、前記第一の方法により値がセットされる機能のみを有し、
前記CPUは、前記第一のレジスタに値をセットする機能のうち、前記LD命令を受けたことに基づいて行われる機能以外の機能としては、前記第二の方法により値がセットされる機能を少なくとも有し、
前記第二の方法は、前記制御プログラムによらずに実行され、
前記制御プログラムは、前記複数の方法のうちのいずれかの方法で値がセットされた前記第一のレジスタを用いて前記RAMをアクセスする命令を少なくとも含むプログラムであり、
前記第二のレジスタは、フラグレジスタであり、
前記第二のレジスタの一のビットは、第一のフラグジスタとして機能するビットであり、
前記第二のレジスタの一のビットは、第二のフラグジスタとして機能するビットである、
ことを特徴とする遊技台。 CPU,
A ROM storing at least a control program;
RAM that can temporarily store data;
A game machine equipped with a microcomputer incorporating
The gaming table is a slot machine,
The upper byte of the start address of the RAM is larger than the upper byte of the start address of the ROM,
The CPU has at least a first register;
The CPU has at least a second register;
The first register is a register whose value can be set by any one of a plurality of methods,
At least one of the plurality of methods is a first method,
At least one of the plurality of methods is a second method,
The first method is a method of setting a value by a direct value,
The second method is a method of setting the same value as the upper byte of the top address of the RAM as an initial value,
Among the functions for setting a value in the first register, the CPU has only a function for setting a value by the first method as a function performed based on receiving an LD command,
Among the functions for setting a value in the first register, the CPU has a function for setting a value by the second method as a function other than a function performed based on receiving the LD instruction. Have at least
The second method is executed without depending on the control program,
The control program is a program including at least an instruction for accessing the RAM using the first register in which a value is set by any one of the plurality of methods.
The second register is a flag register;
One bit of the second register is a bit that functions as a first flag register,
One bit of the second register is a bit that functions as a second flag register.
A game stand characterized by that.
制御プログラムが少なくとも記憶されたROMと、
データを一時記憶可能なRAMと、
を内蔵するマイクロコンピュータを備えた遊技台であって、
前記遊技台は、ぱちんこ機であり、
前記RAMの先頭アドレスの上位バイトは、前記ROMの先頭アドレスの上位バイトよりも大きく、
前記CPUは、少なくとも第一のレジスタを有し、
前記CPUは、少なくとも第二のレジスタを有し、
前記第一のレジスタは、複数の方法のうちのいずれかの方法で値をセット可能なレジスタであり、
前記複数の方法のうちの少なくとも一つは、第一の方法であり、
前記複数の方法のうちの少なくとも一つは、第二の方法であり、
前記第一の方法は、直値により値をセットする方法であり、
前記第二の方法は、前記RAMの先頭アドレスの上位バイトと同じ値を初期値としてセットする方法であり、
前記CPUは、前記第一のレジスタに値をセットする機能のうち、LD命令を受けたことに基づいて行われる機能としては、前記第一の方法により値がセットされる機能のみを有し、
前記CPUは、前記第一のレジスタに値をセットする機能のうち、前記LD命令を受けたことに基づいて行われる機能以外の機能としては、前記第二の方法により値がセットされる機能を少なくとも有し、
前記第二の方法は、前記制御プログラムによらずに実行され、
前記制御プログラムは、前記複数の方法のうちのいずれかの方法で値がセットされた前記第一のレジスタを用いて前記RAMをアクセスする命令を少なくとも含むプログラムであり、
前記第二のレジスタは、フラグレジスタであり、
前記第二のレジスタの一のビットは、第一のフラグジスタとして機能するビットであり、
前記第二のレジスタの一のビットは、第二のフラグジスタとして機能するビットである、
ことを特徴とする遊技台。 CPU,
A ROM storing at least a control program;
RAM that can temporarily store data;
A game machine equipped with a microcomputer incorporating
The game machine is a pachinko machine,
The upper byte of the start address of the RAM is larger than the upper byte of the start address of the ROM,
The CPU has at least a first register;
The CPU has at least a second register;
The first register is a register whose value can be set by any one of a plurality of methods,
At least one of the plurality of methods is a first method,
At least one of the plurality of methods is a second method,
The first method is a method of setting a value by a direct value,
The second method is a method of setting the same value as the upper byte of the top address of the RAM as an initial value,
Among the functions for setting a value in the first register, the CPU has only a function for setting a value by the first method as a function performed based on receiving an LD command,
Among the functions for setting a value in the first register, the CPU has a function for setting a value by the second method as a function other than a function performed based on receiving the LD instruction. Have at least
The second method is executed without depending on the control program,
The control program is a program including at least an instruction for accessing the RAM using the first register in which a value is set by any one of the plurality of methods.
The second register is a flag register;
One bit of the second register is a bit that functions as a first flag register,
One bit of the second register is a bit that functions as a second flag register.
A game stand characterized by that.
前記LD命令とは、レジスタに値を転送するロード命令の一種のことである、
ことを特徴とする遊技台。 The game stand according to claim 1 or 2,
The LD instruction is a kind of load instruction for transferring a value to a register.
A game stand characterized by that.
前記第一のレジスタは、リセットが発生した場合に前記初期値がセットされる、
ことを特徴とする遊技台。 It is a game stand as described in any one of Claims 1 thru | or 3, Comprising:
The first register is set to the initial value when a reset occurs.
A game stand characterized by that.
前記リセットとは、システムリセットのことである、
ことを特徴とする遊技台。 The game table according to claim 4,
The reset is a system reset.
A game stand characterized by that.
前記複数の方法のうちの少なくとも一つは、第三の方法であり、
前記第三の方法は、前記CPUにおける前記第一のレジスタに値をセットする機能のうち、前記LD命令を受けたことに基づいて行われる機能以外の機能による方法であり、
前記第三の方法は、スタック操作命令を受けたことに基づいて行われる機能による方法である、
ことを特徴とする遊技台。 It is a game stand as described in any one of Claim 1 thru | or 5, Comprising:
At least one of the plurality of methods is a third method,
The third method is a method based on a function other than the function performed based on receiving the LD instruction among the functions of setting a value in the first register in the CPU.
The third method is a method based on a function performed based on receiving a stack operation instruction.
A game stand characterized by that.
前記マイクロコンピュータは、セキュリティモードを経てユーザモードに移行可能なものであり、
前記制御プログラムは、前記ユーザモードにおいて、前記CPUによって実行され、
前記セキュリティモードにおいて、前記制御プログラムが正常なプログラムかどうかのチェックが行われる、
ことを特徴とする遊技台。 It is a game stand as described in any one of Claim 1 thru | or 6, Comprising:
The microcomputer can be shifted to the user mode through the security mode,
The control program is executed by the CPU in the user mode,
In the security mode, it is checked whether the control program is a normal program.
A game stand characterized by that.
前記マイクロコンピュータが少なくとも設けられた払出制御手段を備え、
前記払出制御手段は、少なくとも賞球を払出する払出制御を少なくとも実行可能な制御手段であり、
前記制御プログラムとは、払出制御プログラムのことである、
ことを特徴とする遊技台。 It is a game stand as described in any one of Claim 1 thru | or 7, Comprising:
A dispensing control means provided with at least the microcomputer;
The payout control means is a control means capable of executing at least payout control for paying out at least a prize ball,
The control program is a payout control program.
A game stand characterized by that.
前記マイクロコンピュータが少なくとも設けられた主制御手段を備え、
前記主制御手段は、少なくとも賞球を払出する払出制御を少なくとも実行可能な払出制御手段に対して、コマンドを少なくとも送信可能な制御手段である、
ことを特徴とする遊技台。 It is a game stand as described in any one of Claim 1 thru | or 8, Comprising:
A main control means provided with at least the microcomputer;
The main control means is control means capable of transmitting at least a command to a payout control means capable of executing at least payout control for paying out a prize ball.
A game stand characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014089716A JP5811423B2 (en) | 2014-04-24 | 2014-04-24 | Amusement stand |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014089716A JP5811423B2 (en) | 2014-04-24 | 2014-04-24 | Amusement stand |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012046023A Division JP5544644B2 (en) | 2012-03-02 | 2012-03-02 | Amusement stand |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015172433A Division JP6047732B2 (en) | 2015-09-02 | 2015-09-02 | Amusement stand |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014230748A JP2014230748A (en) | 2014-12-11 |
JP5811423B2 true JP5811423B2 (en) | 2015-11-11 |
Family
ID=52124505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014089716A Active JP5811423B2 (en) | 2014-04-24 | 2014-04-24 | Amusement stand |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5811423B2 (en) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018153338A (en) * | 2017-03-16 | 2018-10-04 | サミー株式会社 | Game machine |
JP6909900B2 (en) * | 2019-01-21 | 2021-07-28 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
JP6974569B2 (en) * | 2019-03-08 | 2021-12-01 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
JP6964726B2 (en) * | 2019-06-25 | 2021-11-10 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
JP6967114B2 (en) * | 2019-06-25 | 2021-11-17 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
JP7017019B2 (en) * | 2020-03-09 | 2022-02-08 | サミー株式会社 | Pachinko game machine |
JP6999783B2 (en) * | 2020-12-01 | 2022-01-19 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
JP6999784B2 (en) * | 2020-12-01 | 2022-01-19 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
JP2021041280A (en) * | 2020-12-18 | 2021-03-18 | サミー株式会社 | Game machine |
JP2021053436A (en) * | 2020-12-18 | 2021-04-08 | サミー株式会社 | Game machine |
JP7061209B2 (en) * | 2021-01-18 | 2022-04-27 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
JP7043638B2 (en) * | 2021-01-21 | 2022-03-29 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
JP7043637B2 (en) * | 2021-01-21 | 2022-03-29 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
JP7108069B2 (en) * | 2021-02-17 | 2022-07-27 | 株式会社ユニバーサルエンターテインメント | game machine |
JP7108068B2 (en) * | 2021-02-17 | 2022-07-27 | 株式会社ユニバーサルエンターテインメント | game machine |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001347046A (en) * | 2000-06-12 | 2001-12-18 | Taiyo Elec Co Ltd | Game machine |
JP5055681B2 (en) * | 2004-02-27 | 2012-10-24 | 株式会社三洋物産 | Game machine |
JP4990311B2 (en) * | 2009-03-09 | 2012-08-01 | 株式会社藤商事 | Game machine |
JP4955805B2 (en) * | 2010-08-23 | 2012-06-20 | 株式会社大都技研 | Amusement stand |
-
2014
- 2014-04-24 JP JP2014089716A patent/JP5811423B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014230748A (en) | 2014-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5544644B2 (en) | Amusement stand | |
JP5811423B2 (en) | Amusement stand | |
JP4991956B1 (en) | Amusement stand | |
JP4976571B1 (en) | Amusement stand | |
JP2012223330A (en) | Game machine | |
JP6047732B2 (en) | Amusement stand | |
JP4976569B1 (en) | Amusement stand | |
JP5888528B2 (en) | Amusement stand | |
JP5256438B2 (en) | Amusement stand | |
JP6047721B2 (en) | Amusement stand | |
JP2013027709A (en) | Game machine | |
JP5067681B1 (en) | Amusement stand | |
JP5344357B2 (en) | Amusement stand | |
JP5866623B2 (en) | Amusement stand | |
JP5555948B1 (en) | Amusement stand | |
JP5830750B2 (en) | Amusement stand | |
JP5344356B2 (en) | Amusement stand | |
JP5344355B2 (en) | Amusement stand | |
JP2014028076A (en) | Game board | |
JP2014028057A (en) | Game machine | |
JP2014100542A (en) | Game machine | |
JP2014028063A (en) | Game machine | |
JP2012223573A (en) | Game machine | |
JP6277378B2 (en) | Amusement stand | |
JP6024998B2 (en) | Amusement stand |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150624 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5811423 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R157 | Certificate of patent or utility model (correction) |
Free format text: JAPANESE INTERMEDIATE CODE: R157 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |