JP5067681B1 - Amusement stand - Google Patents
Amusement stand Download PDFInfo
- Publication number
- JP5067681B1 JP5067681B1 JP2011164594A JP2011164594A JP5067681B1 JP 5067681 B1 JP5067681 B1 JP 5067681B1 JP 2011164594 A JP2011164594 A JP 2011164594A JP 2011164594 A JP2011164594 A JP 2011164594A JP 5067681 B1 JP5067681 B1 JP 5067681B1
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- 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
- 238000003860 storage Methods 0.000 abstract description 224
- 230000000694 effects Effects 0.000 abstract description 117
- 238000000034 method Methods 0.000 description 479
- 230000008569 process Effects 0.000 description 473
- 238000012545 processing Methods 0.000 description 264
- 238000001514 detection method Methods 0.000 description 72
- 238000010586 diagram Methods 0.000 description 55
- 230000005540 biological transmission Effects 0.000 description 45
- 238000012546 transfer Methods 0.000 description 44
- 230000004048 modification Effects 0.000 description 35
- 238000012986 modification Methods 0.000 description 33
- 230000008859 change Effects 0.000 description 30
- 238000005034 decoration Methods 0.000 description 29
- 238000007726 management method Methods 0.000 description 22
- 230000009467 reduction Effects 0.000 description 16
- 238000003780 insertion Methods 0.000 description 15
- 230000037431 insertion Effects 0.000 description 15
- 238000004519 manufacturing process Methods 0.000 description 15
- 230000006854 communication Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000012544 monitoring process Methods 0.000 description 14
- 239000004973 liquid crystal related substance Substances 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 10
- 230000005856 abnormality Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 8
- 239000013078 crystal Substances 0.000 description 8
- 238000011084 recovery Methods 0.000 description 8
- 101100498892 Aedes aegypti DEFB gene Proteins 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
- 235000019693 cherries Nutrition 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 5
- 210000000245 forearm Anatomy 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
- 230000009191 jumping Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000009987 spinning Methods 0.000 description 2
- 241001539473 Euphoria Species 0.000 description 1
- 206010015535 Euphoric mood Diseases 0.000 description 1
- 241000722921 Tulipa gesneriana Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 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
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 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
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 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
- 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
- 238000012360 testing method Methods 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
Landscapes
- Pinball Game Machines (AREA)
- Slot Machines And Peripheral Devices (AREA)
Abstract
【課題】安定した遊技制御をおこなうことができる遊技台を提供する。
【解決手段】遊技台は、遊技制御を行うCPUを有する主制御部と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部と、を備える。また、前記CPUは、記憶手段の所定領域へのアクセスが規制された命令を備え、前記命令を前記遊技制御において実行する。
【選択図】図50A game machine capable of performing stable game control is provided.
A gaming machine includes a main control unit having a CPU for performing game control, and a sub-control unit for performing effect control of the game based on the game control of the main control unit. Further, the CPU includes a command in which access to a predetermined area of the storage unit is restricted, and executes the command in the game control.
[Selection] Figure 50
Description
本発明は、回胴遊技機(スロットマシン)や弾球遊技機(パチンコ機)に代表される遊技台に関する。 The present invention relates to a game machine 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 game ball to enter a predetermined prize opening provided in the game area, so that the player can obtain a predetermined profit.
In such a game stand, game control tends to be complicated because the player is bored if the interest of the game is not enhanced. In addition, game control may become unstable due to various factors such as illegal acts by players, disturbances such as electrostatic noise, and coding errors in the program. In order to solve such problems, reset reception There has been proposed a game machine that randomizes the time from software startup to software startup (see, for example, Patent Document 1).
しかしながら、特許文献1記載の遊技台では、電源投入時の不正行為を有効に阻止することができるものの、他のタイミングや要因については更なる改良が求められている。 However, although the gaming machine described in Patent Document 1 can effectively prevent an illegal act at the time of power-on, further improvements are required for other timings and factors.
本発明は、このような従来の問題点を解決するためになされたものであって、安定した遊技制御をおこなうことができる遊技台を提供することを目的とする。 The present invention has been made to solve such conventional problems, and an object of the present invention is to provide a game table capable of performing stable game control.
本発明は、遊技制御を行うCPUを有する主制御部と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部と、を備えた遊技台であって、前記CPUは、記憶手段の所定領域へのアクセスが規制された命令を備え、前記命令を前記遊技制御において実行することを特徴とする遊技台である。 The present invention is a gaming machine comprising a main control unit having a CPU for performing game control, and a sub-control unit for performing effect control of the game based on the game control of the main control unit, wherein the CPU is A gaming machine comprising a command in which access to a predetermined area of a storage means is restricted, and executing the command in the game control.
本発明に係る遊技台によれば、安定した遊技制御をおこなうことができる。 According to the gaming machine according to the present invention, stable game control can be performed.
<実施形態1>
以下、図面を用いて、本発明の実施形態1に係る遊技台(パチンコ機100)について詳細に説明する。
<Embodiment 1>
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.
<全体構成>
まず、図1を用いて、本発明の実施形態1に係るパチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面側(遊技者側)から見た外観斜視図である。
<Overall configuration>
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 inside 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. 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に到達する。 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.
<演出装置206>
次に、パチンコ機100の演出装置206について説明する。
<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から排出する。
ステージ244は、ワープ出口242bから排出された球や遊技盤200の釘などによって乗り上げた球などが転動可能であり、ステージ244の中央部には、通過した球が第1特図始動口230へ入球し易くなるスペシャルルート244aを設けている。
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.
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 portion 224a and a forearm portion 224b simulating the upper arm and forearm of a human right arm. 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.
<制御部>
次に、図4を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
<Control unit>
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と、によって構成している。 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.
<主制御部>
まず、パチンコ機100の主制御部300について説明する。
<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 driving 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, the blade member 232a of the second special figure starting port 232, the 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に出力する。 Further, 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.
<副制御部>
次に、パチンコ機100の第1副制御部400について説明する。第1副制御部400は、主に主制御部300が送信したコマンド等に基づいて第1副制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、制御プログラムや各種演出データを記憶するためのROM406と、一時的にデータを記憶するためのRAM408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数等を計測するためのカウンタタイマ412を搭載している。この基本回路402のCPU404は、水晶発信器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。なお、ROM406は、制御プログラムと各種演出データとを別々のROMに記憶させてもよい。
<Sub control unit>
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.
<払出制御部、発射制御部、電源制御部>
次に、パチンコ機100の払出制御部600、発射制御部630、電源制御部660について説明する。
<Discharge control unit, launch control unit, power supply control unit>
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 a predetermined voltage is supplied to 630, the predetermined voltage may be supplied to each control unit and each device through another power supply path.
<図柄の種類>
次に、図5(a)〜(c)を用いて、パチンコ機100の第1特別図柄表示装置212、第2特別図柄表示装置214、装飾図柄表示装置208、普通図柄表示装置210が停止表示する特図および普図の種類について説明する。 同図(a)は特図の停止図柄態様の一例を示したものである。
<Type of design>
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 ordinary 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.
<主制御部の基本回路>
次に、上述の主制御部300の基本回路302について詳細に説明する。図6は、主制御部300から基本回路302の主要部のみを抜き出して示した図である。
<Basic circuit of main control unit>
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と、を有している。 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.
<主制御部のCPUの内蔵レジスタ>
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ビットレジスタ(ペアレジスタ)としても機能するように構成されている。
<Built-in register of CPU of main control unit>
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, L Each of the general-purpose registers C ′, D ′, E ′, H ′, and L ′ is provided, but only the T register that is a special register does not include 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 rewritten carelessly (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 or a POP instruction is a general-purpose register. 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から制御プログラムを読み出して遊技制御を行う制御部と、が異なることが好ましい。制御部を異ならせることで、制御プログラムの改造と特定の値の不正取得の両方を行うことを困難にすることができるためである。 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.
<主制御部のCPUのメモリ空間とI/O空間>
次に、図7を用いて、主制御部300のCPU304のメモリ空間とI/O空間について説明する。なお、同図(a)はCPU304のメモリマップを示した図であり、同図(b)はCPU304のI/Oマップを示した図である。
<Memory space and I / O space of CPU of main controller>
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.
<初期化処理>
次に、図8を用いて、主制御部300の初期化処理について説明する。なお、同図は初期化処理の流れを示すフローチャートである。
<Initialization process>
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) May be configured (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ビット長でもよい。 In this security mode, after the security check is finished, when the fixed extension process waiting for the elapse of a certain period is finished, the H level reset output is output from the XRSTO terminal, and then the random extension process waiting for the elapse of a random period. Is configured to shift to the user mode when the process ends. 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.
<主制御部メイン処理>
次に、図10を用いて、主制御部300のCPU304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
<Main control unit main processing>
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に相当する数値を設定する。ステップS103では、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, to the WDT 314 Operation permission, initial value setting, T-registration check processing (details will be described later), and the like. In the present embodiment, a numerical value corresponding to 32.8 ms is set in WDT 314 as an initial value. In step S103, the value of the counter of WDT 314 is cleared and time measurement by WDT 314 is restarted.
ステップ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 returns. 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レジスタに復帰させる命令である。 In addition, 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ビットロード(転送)命令、スタック操作命令(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 (a kind of 16-bit load instruction), an 8-bit arithmetic logic operation instruction, 16 bits 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 instructions, input / output instructions, compound instructions, etc. are provided.
本実施形態では、電断時には、「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の処理を繰り返し実行する。 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レジチェック処理>
図11(a)は、初期設定1で行うTレジチェック処理の流れを示すフローチャートであり、同図(b)は、Tレジチェック処理のプログラムリストの一例である。
<T cash register check processing>
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 the A register 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, for example, a process 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)。このエラー処理の内容は特に限定されないが、例えば、無限ループに入って後続の主制御部メイン処理を実行しないように構成したり、後続の主制御部メイン処理において液晶表示装置やスピーカなどを用いてエラーを報知したりすることが考えられる。 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命令>
次に、主制御部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が記憶される。
<LD instruction>
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.
<主制御部タイマ割込処理>
次に、図14を用いて、主制御部300のCPU304が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。
<Main control unit timer interrupt processing>
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, a previous detection signal, and a current detection signal. 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 usual figure stop time management timer value changes from 1 to 0), The normal operation is set in the setting area, and the blade member 232a is opened to the 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変動遊技)を行う。
また、コマンド設定送信処理(ステップS233)で回転開始設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶してから処理を終了する。
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).
Further, 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 transmission information storage area described above, and then 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, a 2R big hit flag, a first small hit flag, a second small hit flag, a first off flag, a second off flag, and a 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. 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. When this 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). (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はコマンド種別(本実施形態では、基本コマンド、図柄変動開始コマンド、図柄変動停止コマンド、入賞演出開始コマンド、終了演出開始コマンド、大当りラウンド数指定コマンド、復電コマンド、FRAMクリアコマンドなどコマンドの種類を特定可能な情報)、ビット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, command types 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, FRAM clear command are specified. Possible information), 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 control part main process.
一方、ステップS243では、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、主制御部メイン処理に復帰する。 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.
<第1副制御部400の処理>
次に、図15を用いて、第1副制御部400の処理について説明する。なお、同図(a)は、第1副制御部400のCPU404が実行するメイン処理のフローチャートである。同図(b)は、第1副制御部400のストローブ割込み処理のフローチャートである。同図(c)は、第1副制御部400のタイマ変数更新割込処理のフローチャートである。同図(d)は、第1副制御部400の画像制御処理のフローチャートである。
<Processing of First Sub-Control Unit 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, the CPU 404 forms the 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. , VRAM coordinates (arrangement coordinates, etc.) are instructed to the VDP 434. The VDP 434 performs parameter setting according to the attribute based on the instruction 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)して処理を終了する。 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 which 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.
<第2副制御部500の処理>
次に、図16を用いて、第2副制御部500の処理について説明する。なお、同図(a)は、第2副制御部500のCPU504が実行するメイン処理のフローチャートである。同図(b)は、第2副制御部500のコマンド受信割込処理のフローチャートである。同図(c)は、第2副制御部500のタイマ割込処理のフローチャートである。
<Processing of Second Sub-Control Unit 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に戻る。
次に、同図(b)を用いて、第2副制御部500のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第2副制御部500が、第1副制御部400が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップS801では、第1副制御部400が出力したコマンドを未処理コマンドとしてRAM508に設けたコマンド記憶領域に記憶する。
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.
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では、演出用乱数値の更新処理等を行う。 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>
次に、図17を用いて、主制御部300のROM306に記憶されるデータの種類について説明する。なお、同図は、上述のROM306に記憶されるデータの一例を示した図である。
<ROM of main controller>
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 (0000H to 0BB0H in this embodiment), and 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 processing must be focused and stabilized. Specifically, it is indispensable to suppress coding mistakes and to increase the 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).
<主制御部の命令データ>
次に、主制御部300の命令データについて説明する。図18は、主制御部300の命令データの構成の一例を示した図である。また、図19(a)は、主制御部300の命令データの上位ビットと下位ビットを示した図であり、同図(b)は、命令データテーブルの一例を示した図である。
<Command data of main control unit>
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命令を小分けのグループにして小分けされた特別な領域に割り当てることで解決を図っている。 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命令>
次に、上述の制御プログラムの一つであるCALL命令について説明する。図20は、CALL命令によるアドレスの移動の一例を概念的に示したものであり、図21は、CALL命令の命令データと補足データの一例を示したである。
<CALL instruction>
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レジスタ(プログラムカウンタ)に記憶させる処理(サブルーチンの先頭アドレスに移動)を実行することで、サブルーチンを呼び出すことが可能となる。 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命令>
次に、上述の制御プログラムの一つであるEXESUB命令について説明する。図22(a)は、EXESUB命令の構成の一例を示した図であり、同図(b)は、図19(b)の空き領域に対してEXESUB命令を割り当てた命令データテーブルを示した図である。
<EXESUB instruction>
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命令同様にサブルーチンを呼び出すことが可能となる命令という点では同じであるが、命令データ/補足データの構造および制御プログラムデータに必要な記憶容量が異なる(詳細は後述する)。 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命令/命令データ>
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の数値範囲を表現可能であり、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報(バイナリ形式)の一部である。
<EXESUB instruction / instruction data>
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 so 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 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命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。 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命令/補足データ>
EXESUB命令の補足データは、本実施形態では、00H〜FFHの数値範囲を示す8ビットのデータであるnで構成されている。
よって、EXESUB命令は、命令データに含まれる4ビットのデータであるmと、8ビットの補足データであるnを、この順番で並べて(mを上位、nを下位として)構成される合計12ビットのアドレスmnによって定義可能なアドレス領域(0000H〜0FFF)に先頭アドレスを持つサブルーチンを呼び出すことができる命令となる。すなわち、nは呼び出すサブルーチンの先頭アドレスを識別可能な識別情報(バイナリ形式)から、当該識別情報の一部(m)を除いた情報の少なくとも一部である。
<EXESUB instruction / supplementary data>
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.
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命令/サブルーチンの呼び出し>
図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)を示す値である。
<EXESUB instruction / subroutine call>
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.
<制御プログラムの一例>
図26は、上述の主制御部タイマ割込処理の制御プログラムの一例を示したプログラムリストである。なお、「**」はEXESUB命令の補足データを示す。
<Example of control program>
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, the timer interrupt process 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命令を用いる必要はなく、必要(例えば、上述の制御プログラムデータの圧縮の要求の有無)に応じて適宜用いればよい。
さらに、上述のEXESUB命令は、従来の1バイトの命令データと2バイトの補足データで構成される3バイト命令の制御プログラムデータ(例えば、CALL命令)を、1バイトの命令データと1バイトの補足データで構成される2バイト命令の制御プログラムデータに圧縮した制御プログラムであるが、命令データと補足データで構成される制御プログラムを圧縮する制御プログラムであればよい。すなわち、EXESUB命令は、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報(バイナリ形式)の一部を含んで構成される命令データと、当該識別情報から当該命令データに含まれた識別情報を除いた情報の少なくとも一部で構成される補足データとで構成される制御プログラムであればよく、さらに言えば、上述の命令データおよび補足データそれぞれが、CPU304が一回の処理で読み込むデータ長(例えば、8ビット)の整数倍であればよい。
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-described control program data is requested to be compressed). May be used as appropriate.
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).
<ROM制御領域の変形例>
図27は、ROM領域が、上述のEXESUB命令(EXESUBmn)によって呼び出すことができる領域(本実施形態では、0000H〜0FFFH)よりも、制御プログラムデータが記憶されているROM制御領域(本実施形態では、0000H〜11B8H)が広くなるように構成されている場合を示した図である。また、図28(a)および(b)は、EXESUB命令(EXESUBmn)によって呼び出すことができるサブルーチンの先頭アドレスの領域を拡張した場合の一例を示した図である。
<Modification of ROM control area>
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 an area of the top address of a subroutine (0000H to 0FFFH in this embodiment) that can be called by the EXESUB 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 σ described later is used to maintain the storage capacity required for the EXESUB instruction (EXESUBmn), while the EXESUB 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. 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 composed 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制御領域を除いた領域(本実施形態で
ところで、図17および図27で示したように、制限されたROM制御領域の中でも開発された遊技台ごとに設けられたROM制御領域が異なる場合があるが、このような遊技台それぞれに対して、上述のEXESUBmnまたはEXESUBm'nそれぞれを命令データとして備えているCPUを使い分けて開発を行うことは、開発工数およびコストの観点からも無駄であるとともに、コーディングミスの原因ともなり、安定した遊技制御の実現を困難にしてしまうこととなる。よって、図17で示したROM制御領域を持つ遊技台であっても、EXESUB命令にEXESUBm'nを用いた方が望ましい。
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). (In this embodiment, 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. It is wasteful from the viewpoint of development man-hours and costs, and development of coding mistakes for each such game machine to perform development by using a CPU having each of the above-mentioned EXESUBmn or EXESUBmn'n as instruction data. Cause the difficulty of realizing stable game control. Therefore, even in the amusement machine having a ROM control region shown in FIG. 17, it is preferable using EXESUBm'n to 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.
<特図状態更新処理、普図状態更新処理>
次に、図29を用いて、上述の特図2状態更新処理(ステップS225)、特図1状態更新処理(ステップS227)、普図状態更新処理(ステップS221)の制御プログラムの一部について説明する。なお、同図(a)は特図2状態更新処理および特図1状態更新処理の制御プログラムの一部を抜き出したものであり、同図(b)は普図状態更新処理の制御プログラムの一部を抜き出したものである。
<Special drawing state update processing, general drawing state update processing>
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の普図ステータス用記憶領域に記憶された普図ステータスの読みだしを行う、
このように、同図(c)に示す従来のメモリ読出し処理を利用した場合には、「LD H,F0H」という命令により、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位(F0H)が解析され、不正行為を誘発するおそれがある。このため、本実施形態では、同図(c)に示す従来のメモリ読出し処理に替えて、同図(e)に示すメモリ読出し処理を採用する。
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,
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)が解析されるおそれが極めて低く、不正行為を未然に防止できる場合がある。 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-status status storage area or the general-purpose status storage area is analyzed, and it may be possible to prevent fraud.
<特図1関連抽選処理>
次に、図31を用いて、上述の主制御部タイマ割込処理における特図1関連抽選処理について説明する。なお、同図は、特図1関連抽選処理の流れを示すフローチャートである。
<Special drawing 1 related lottery processing>
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.
<主制御部のデータテーブルと変数記憶領域>
次に、図32および図33を用いて、主制御部300のROM306に記憶されるデータテーブルの一部と、RAM308に設けられる変数記憶領域の一部について説明する。
<Data table and variable storage area of main controller>
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.
<テーブル選択用テーブル>
図32(a)は、テーブル選択用テーブルの一例を示した図であり、図33は、主制御部300のROM306に記憶されるデータテーブルの定義の一部と、RAM308に設けられる変数格納領域の定義の一部を示したプログラムリストの一例である。
<Table selection table>
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)。 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).
<第1変動パターン選択テーブル>
図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進数で示している。
<First variation pattern selection table>
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.
<第2変動パターン選択テーブル>
図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進数で示している。
<Second variation pattern selection table>
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.
<変数記憶領域>
図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が記憶される。
<Variable storage area>
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.
<特別図柄変動時間抽選処理>
次に、図34および図35を用いて、上述の特図1関連抽選処理における特別図柄変動時間抽選処理について説明する。なお、図34は、特別図柄変動時間抽選処理の流れを示すフローチャートであり、図35は、特別図柄変動時間抽選処理のプログラムリストの一例である。
<Special symbol variation time lottery processing>
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-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では、その他の処理を行った後に処理を終了する。 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.
<主制御部の特殊命令>
次に、図36および図37を用いて、主制御部300が備える特殊命令について説明する。なお、図36は、主制御部300が備える命令の一部と、その説明を示した図である。また、図37(a)は、主制御部300の命令データの上位ビットと下位ビットを示した図であり、同図(b)は、命令データテーブルの一例を示した図である。
<Special instruction of main control unit>
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. 37A is a diagram showing the upper and lower bits of the instruction data of the main control unit 300, and FIG. 37B is a diagram showing an example of the instruction data table.
<特殊命令/LDT命令>
特殊命令の一つである「LDT A、(n:イミディエイト値)」命令は、上述のとおり、Tレジスタを上位、イミディエイト値を下位で示すアドレスのデータをAレジスタにロードする命令であり、例えば、上述の特別図柄変動時間抽選処理のステップS1103では、「LDT A、(40H)」命令を実行することによって、Tレジスタ(F0H)を上位、イミディエイト値(40H)を下位で示すアドレス(F040H)のデータ、すなわち保留数記憶領域に記憶された保留数をAレジスタにロード(転送)している。
<Special instruction / LDT instruction>
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レジスタの値(アドレスの上位バイト)を不用意に変更することができなくなる結果、コーディングミスや不具合の発生を減少させることができる場合がある。 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.
<特殊命令/LDTWO命令>
特殊命令の一つである「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レジスタを保護するのに適している。
<Special instructions / LDTWO instructions>
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の記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。 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.
<特殊命令/ADDTWOONE命令>
特殊命令の一つである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バイト長)てもよい。この場合、該命令の利便性を高めることができる。
<Special instruction / ADDTWOONE instruction>
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 a register 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レジスタを温存する機能とを備えている。また、命令に直値を使用しているので、プログラムソースの可読性を向上できる。 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.
<特殊命令/INCTENSOU命令>
特殊命令の一つである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)とを離れた番号にしている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令(隠し命令)を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。
<Special instruction / INCENSOU instruction>
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命令を繰り返し実行することになるため、処理速度の短縮の効果が高い。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。 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 process of steps S1109 to S1111 or the loop process 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.
<特殊命令/TENSOUINC命令>
特殊命令の一つである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)の前後にしている。
<Special instruction / TENSOUINC instruction>
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に両方実行可能に備えるようにしても良いし、何れか一方のみ実行可能に備えるようにしてもよい。 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.
<特殊命令/CPT命令>
特殊命令の一つである「CPT A,(n:イミディエイト値)」命令は、Aレジスタの内容と、Tレジスタを上位、イミディエイト値を下位で示すアドレスのデータを比較する命令であり、例えば、TレジスタにF0Hが記憶された状態で「CPT A,(40H)」を実行した場合、Aレジスタの内容と、Tレジスタを上位、イミディエイト値を下位で示すアドレス(F040H)のデータが比較される。
<特殊命令/ADDONETWO命令>
特殊命令の一つである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に両方備えるようにしても良いし、何れか一方のみ備えるようにしてもよい。
<Special instruction / CPT instruction>
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>
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.
<特殊命令/SUBTWOONE命令>
特殊命令の一つである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であると判断することができる。
<Special instruction / SUBTWOONE instruction>
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.
<データテーブルの変形例>
次に、図38を用いて、上述のデータテーブルの変形例について説明する。なお、同図は、テーブル選択用テーブル、第1変動パターン選択テーブル、および第2変動パターン選択テーブルの変形例を示した図であり、上記図32に相当する図である。
<Modification of data table>
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.
<特別図柄変動時間抽選処理の変形例>
次に、図39を用いて、上記図34に示す特別図柄変動時間抽選処理の変形例について説明する。なお、同図は、変形例に係る特別図柄変動時間抽選処理の流れを示すフローチャートである。
<Modified example of special symbol variation time lottery processing>
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 process is changed to the process of step S1150 using the “AC, (HL)” instruction or the process of 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.
<初期設定処理>
次に、図40および図41を用いて、上述の主制御部メイン処理の初期設定2(ステップS107)で実行される初期設定処理について説明する。なお、図40(a)は、ROM306に記憶される初期設定データテーブルの一例を示した図であり、同図(b)は、初期設定処理後のRAM308の記憶領域の一部を示した図であり、同図(c)は、初期設定処理の流れを示すフローチャートである。また、図41は、初期設定処理のプログラムリストの一例である。
<Initial setting process>
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, the instruction including the B register in the operand (TENSOUINC BC, (HL), TENSOUINC BD, (HL) in this embodiment) is used, and steps S1202 to S1204 of the initial setting process described above 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.
ここで対応する行を探し出す処理は、探している一または複数の値が、テーブル内の特定の行における一または複数の特定の列の値と一致または関係する場合に、当該特定の行を対応する行とするような処理としてもよい。対応する列を探し出す処理も同様としてもよい。 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.
<主制御部の第2特殊命令>
次に、主制御部300が備える第2特殊命令について説明する。図42(a)は、主制御部300が備える第2特殊命令の一部を示した図である。
<Second special instruction of main control unit>
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.
<第2特殊命令/CPRT命令(演算+リターン命令)>
第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にクリアするタイミングは、逆でもよいし、同時でもよい。
<Second special instruction / CPRT instruction (operation + return instruction)>
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) To an instruction for clearing the set the address of the subsequent processing in the program counter PC to Z flag 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命令も同様)。 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 It is an instruction to do. 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).
<第2特殊命令/CPJR命令(演算+ジャンプ命令)>
第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にセットする命令である。
<Second special instruction / CPJR instruction (operation + jump instruction)>
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にクリアされる。 FIG. 42B shows 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. .
<CPJR命令を用いた処理>
次に、CPJR命令を用いた処理について説明する。図43は、CPJR命令を用いた処理の一例を示した図である。同図に示す第一のモジュールでは、処理Xを実行した後に、CPJR命令を実行し、所定条件が成立した場合に処理Zにジャンプする処理を行い、所定条件が成立しなかった場合に後続の処理Yを実行する処理を行う。
<Process using CPJR instruction>
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 the AND instruction (AND A) shown in (1-1) and the 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. As described above, 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 the process X is executed, the CPJR instruction is executed, and when a 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命令以外の命令(この例では、算術論理演算命令)の実行によって変化したフラグレジスタに基づいた処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。 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.
<CPRT命令を用いた処理>
次に、CPRT命令を用いた処理について説明する。図47は、CPRT命令を用いた処理の一例を示した図である。同図に示す第一のモジュールでは、CALL命令を実行して第二のモジュールを呼び出し、呼び出し先の第二のモジュールで処理Xを実行した後に、CPRT命令を実行し、所定条件が成立した場合に呼び出し元の第一のモジュールに戻って処理Zを行い、所定条件が成立しなかった場合に後続の処理Yを実行している。
<Process using CPRT instruction>
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, the 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を連続させれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。 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.
<主制御部の第3特殊命令>
次に、主制御部300が備える第3特殊命令について説明する。図49は、主制御部300が備える第3特殊命令の一部を示した図である。
<Third special instruction of main control unit>
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.
<第3特殊命令/RES命令>
第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にリセットする命令である。
<Third special instruction / RES instruction>
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, 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, 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の部分は空き領域とされている。このように、命令マップの一部に空き領域を設けることによって、命令マップを使ったプログラム(機械語)の解析を困難にすることができる場合がある。 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.
<RES命令の変形例1>
図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にリセットする命令である。
<Modification 1 of RES instruction>
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進数の数値で指定することができるため、プログラムの解析を困難にすることができる場合がある。 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. 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, it may be difficult to analyze the program.
<RES命令の変形例2>
図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にリセットする命令である。
<Modification 2 of RES instruction>
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)」命令を割り当てている。このように、命令マップの一部の並び順を不規則にすることによって、プログラム(機械語)の解析を困難にすることができる場合がある。 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).
<RES命令の他の変形例>
図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の指定が省略できるように変更し、指定を省略した場合には全てのビットのアクセスを許可するように構成している。
<Other Modifications of RES Instruction>
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, by changing the order of arrangement of a part of the instruction map between the case where the RES instruction that does not prohibit the access of the predetermined bit is provided and the case where the RES instruction that 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.
<ユーザプログラムの具体例>
次に、上述のユーザプログラムの具体例について説明する。上述のとおり、主制御部300のCPU304がユーザモードに移行すると、ROM領域の第一領域の先頭アドレスである0000H以降に記憶された命令が順次、実行されてユーザプログラムが開始される。
<Specific examples of user programs>
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)に示す各種処理が、この順番で行われる。 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.
<主制御部の第4特殊命令>
次に、主制御部300が備える第4特殊命令について説明する。図64は、主制御部300が備える第4特殊命令の内容と、主制御部300のROM領域を示した図である。
<Fourth special instruction of main controller>
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.
<第4特殊命令/RST命令>
第4特殊命令の一つである「RST」命令は、固定のアドレスをプログラムカウンタPCに設定することによって、固定のアドレスにジャンプするための命令である。
<4th special instruction / RST instruction>
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→…)を昇順にはしないように構成しているため、命令の分析を行うことが極めて困難で、不正なプログラム改造を未然に防止できる場合がある。 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.
<実施形態2>
以下、図面を用いて、本発明の実施形態2に係る遊技台(スロットマシン1100)について詳細に説明する。
<Embodiment 2>
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.
<全体構成>
まず、図66を用いて、本発明の実施形態2に係るスロットマシン1100の全体構成について説明する。なお、同図はスロットマシン1100を正面側(遊技者側)から見た外観斜視図である。
<Overall configuration>
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. In addition, the display device is not limited to a liquid crystal display device, but may be any display device that can display various effect images and various game information. , 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 / 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.
<主制御部>
まず、スロットマシン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となる。
<Main control unit>
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.
<副制御部>
次に、スロットマシン1100の第1副制御部1400について説明する。第1副制御部1400は、主制御部1300が送信した制御コマンドを入力インタフェースを介して受信し、この制御コマンドに基づいて第1副制御部1400の全体を制御する基本回路1402を備えており、この基本回路1402は、CPU1404と、一時的にデータを記憶するためのRAM1408と、各種デバイスの入出力を制御するためのI/O1410と、時間や回数等を計測するためのカウンタタイマ1412を搭載している。基本回路1402のCPU1404は、水晶発振器1414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。ROM406は、第1副制御部1400の全体を制御するための制御プログラム及びデータ、バックライトの点灯パターンや各種表示器を制御するためのデータ等を記憶する。
<Sub control unit>
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, it may be configured by a plurality of control units.
第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に設けたステッピングモータ(図示省略)に駆動信号を出力する。
また、第2副制御部1500には、センサ回路1532を設けており、センサ回路1532には入力インタフェースを介してシャッタセンサ1538を接続している。CPU1504は、割り込み時間ごとにシャッタセンサ1538状態を監視している。
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.
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.
<図柄配列>
次に、図69(a)を用いて、上述の各リール1110乃至1112に施される図柄配列について説明する。なお、同図は、各リール(左リール1110、中リール1111、右リール1112)に施される図柄の配列を平面的に展開して示した図である。
<Pattern arrangement>
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.
<入賞役の種類>
次に、図69(b)を用いて、スロットマシン1100の入賞役の種類について説明する。なお、同図は入賞役(作動役を含む)の種類、各入賞役に対応する図柄組合せ、各入賞役の作動または払出を示している。
<Type of winning prize>
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, the “winning” in the present embodiment includes a case where a symbol combination of an actuator not accompanied by a medal payout (without a medal payout) is displayed on the active line, for example, a big bonus, a 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.
「再遊技(リプレイ)」は、入賞により次回の遊技でメダル(遊技媒体)の投入を行うことなく遊技を行うことができる入賞役(作動役)であり、メダルの払出は行われない。なお、対応する図柄組合せは、再遊技は「リプレイ−リプレイ−リプレイ」である。
<遊技状態の種類>
次に、スロットマシン1100の遊技状態の種類について説明する。遊技状態とは、抽選などにおいて選択する抽選データの種別を識別するための情報である。本実施形態では、スロットマシン1100の遊技状態は、通常遊技と、BB遊技と、RB遊技と、ビッグボーナス(BB)およびレギュラーボーナス(RB)の内部当選遊技と、に大別した。但し、内部当選遊技は、通常遊技に含まれる区分けであってもよい。
<通常遊技>
通常遊技に内部当選する入賞役には、ビッグボーナス(BB)と、レギュラーボーナス(RB)と、再遊技(リプレイ)と、小役(チェリー、スイカ、ベル)がある。
“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>
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>
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)、再遊技(リプレイ)および小役に当選していない)となる設定、又は、停止表示結果がいずれの役の図柄組合せに該当しないハズレの停止表示結果が概ね導出される設定がされており、獲得するメダルの総数が、投入したメダルの総数に満たない遊技状態になっている。よって、遊技者にとっては不利益となる遊技状態である。但し、予め定めた条件を満たした場合(例えば、特定の図柄組み合わせが表示された場合)には、再遊技の内部当選の確率を上昇させる変動をさせてもよい遊技状態であり、この場合、遊技に用いられるメダルの消費が抑えられ、小役の入賞によって所定数のメダルが払い出されることにより、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態になり、遊技者にとっては利益となる遊技状態になる場合がある。 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 earned exceeds the total number of medals inserted, which is beneficial to the player May become a gaming state.
<BB遊技>
BB遊技は、遊技者にとっては利益となる遊技状態になるように設定されている。つまり、BB遊技は、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態となる。BB遊技は、本実施形態では、ビッグボーナス(BB)の入賞により開始され、RB遊技(後述する)を連続して繰り返し実行可能になっており、遊技中に予め定められた一の数(例えば、465枚)を超えるメダルが獲得された場合に終了する。但し、BB遊技はRB遊技を複数回数実行可能であればよく、例えば、RB遊技を開始する役(図柄組み合わせは例えば、リプレイ−リプレイ−リプレイ)を設定し、この役が内部当選した場合、または、入賞した場合に、RB遊技を開始するように設定してもよい。さらには、BB遊技は、BB遊技中のRB遊技を除くBB一般遊技を予め定めた回数(例えば、30回)実行した場合、または、BB遊技中に実行したRB遊技の回数が予め定めた回数に達した場合(例えば、3回)に終了するようにしてもよい。
<BB game>
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遊技>
RB遊技は、遊技者にとっては利益となる遊技状態になるように設定されている。つまり、RB遊技は、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態となる。RB遊技は、本実施形態では、レギュラーボーナス(RB)の入賞により開始され、予め定めた一の役が内部当選の確率を上昇させる変動(例えば、「設定1」「通常遊技」に設定された「小役1」の内部当選確率1/15を、予め定めた一の値である内部当選確率1/1.2に上昇させる)をし、予め定めた一の数(例えば、8回)の入賞があった場合に終了する。RB遊技は、予め定めた回数(少なくとも2回)の入賞があった場合(例えば、8回)、または、RB遊技中に実行したRB遊技の回数が予め定めた回数に達した場合(例えば、8回)に終了するようにしてもよい。上述したBB遊技は、RB遊技を複数回数実行可能であるので、一回のRB遊技を行った場合には、BB遊技で得られるメダルの総数よりも少ないメダル数を獲得して終了することとなる。
<RB game>
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.
<ビッグボーナス(BB)およびレギュラーボーナス(RB)の内部当選遊技>
ビッグボーナス(BB)およびレギュラーボーナス(RB)の内部当選遊技に内部当選する入賞役には、再遊技(リプレイ)と、小役がある。ビッグボーナス(BB)およびレギュラーボーナス(RB)は内部当選することはなく、ビッグボーナス(BB)かレギュラーボーナス(RB)に対応する図柄組み合わせを入賞させることが可能となっている遊技状態である。
<Big winning (BB) and regular bonus (RB) internal winning games>
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 that has been internally won to the big bonus (BB) and the regular bonus (RB), for example, the probability of increasing the internal winning probability of the replay is changed. 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.
<主制御部メイン処理>
次に、図70を用いて、主制御部1300のCPU1304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
<Main control unit main processing>
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へ戻って上述した処理を繰り返すことにより遊技が進行することになる。 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.
<主制御部1300タイマ割込処理>
次に、図71を用いて、主制御部1300のCPU1304が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。
<Main control unit 1300 timer interrupt processing>
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, and the presence or absence of errors relating to medal insertion abnormality and medal payout abnormality is monitored. (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の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、主制御部メイン処理に復帰する。 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.
<第1副制御部400の処理>
次に、図72を用いて、第1副制御部1400の処理について説明する。なお、同図(a)は、第1副制御部1400のCPU1404が実行するメイン処理のフローチャートであり、同図(b)は、第1副制御部1400のコマンド受信割込処理のフローチャートである。また、同図(c)は、第1副制御部1400のタイマ割込処理のフローチャートである。
<Processing of First Sub-Control Unit 400>
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への制御コマンドの送信や、演出用乱数値の更新処理等を行う。 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.
<第2副制御部500の処理>
次に、図73を用いて、第2副制御部1500の処理について説明する。なお、同図(a)は、第2副制御部1500のCPU1504が実行するメイン処理のフローチャートであり、同図(b)は、第2副制御部1500のコマンド受信割込処理のフローチャートである。また、同図(c)は、第2副制御部1500のタイマ割込処理のフローチャートであり、同図(d)は、第2副制御部1500の画像制御処理のフローチャートである。
<Processing of Second Sub-Control Unit 500>
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を代入する。
ステップS2607では、コマンド処理を行う。コマンド処理では第2副制御部1500のCPU1504は、第1副制御部1400のCPU1404からコマンドを受信したか否かを判別する。
ステップS2609では、演出制御処理を行う。この演出制御処理では、例えば、ステップS2607で新たなコマンドがあった場合には、このコマンドに対応する処理を行う。この処理には、例えば、演出データをROM1506から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行うことが含まれる。
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.
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.
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 is input. If a generation end interrupt signal is input, the process proceeds to step S2911, and if not, a generation end interrupt signal is determined. 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)) that performs game control centered on the progress of the game (e.g., CPU 304 (or CPU 1304)). 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.) It can be used with the load instruction of T, but it cannot be used with the operation instruction (it cannot change its value directly by the operation instruction) and the second register. A register (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 first register via the second register There is no instruction for transferring data (for example, an instruction for transferring data directly to the T register via the A register like the “LD T, A” instruction), and the first register has a direct value (immediate value or immediate value). The game machine is provided with an instruction (for example, an “LD T, F0H” instruction) for setting data according to the above.
本実施形態に係るパチンコ機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).
また、前記第二レジスタは、一の特定レジスタ(例えば、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 Along with the register, it is possible to save and restore a 16-bit length. 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のユーザによって設定されたユーザプログラムを実行可能なユーザモードと、該ユーザプログラムを実行不可能な非ユーザモード(例えば、セキュリティモード)と、を備え、該非ユーザモードにおいて前記特定の値を第一レジスタに設定すれば、特定の値が他の値に改ざんされたり、特定の値が読みだされたりするような不正行為を未然に防止できる場合がある。 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 CPU user can be executed and a non-user mode in which the user program cannot be executed (for example, a security mode) are provided, and the specific value is set in the non-user mode. 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.
また、プログラムを書き換えただけでは遊技を思い通りに制御することができないため、プログラムの書き換えによる不正行為を効果的に防止できる場合がある。特に、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 CPU user can be executed and a non-user mode in which the user program cannot be executed (for example, a security mode) are provided, and the specific value is set in the non-user mode. 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 a “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 a coding error 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).
また、前記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 coding errors 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 the 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 the 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 non-use 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 the 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. .
また、前記第三のレジスタと前記第四のレジスタの少なくとも何れかは、前記第二のビット長の演算が可能なレジスタの組み合わせを構成してもよい(例えば、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 this state. 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)) 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 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,...) Is a bit length. 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.
また、前記第一のレジスタ(例えば、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 processes). 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, “INCTENSOU BC, (HL ) "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 program of the two-stage lottery 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 name of the instruction is not limited to the name 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副制御部への通信は一方向の通信としてもよい。 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.
また、本発明の実施の形態に記載された作用および効果は、本発明から生じる最も好適な作用および効果を列挙したに過ぎず、本発明による作用および効果は、本発明の実施の形態に記載されたものに限定されるものではない。また、実施例に記載した複数の構成のうち、1つの構成に記載している内容を、他の構成に適用することでより遊技の幅を広げられる場合がある。 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. In addition, in some cases, the content described in one configuration among a plurality of configurations described in the embodiments may be applied to other configurations to further widen the game.
本発明の遊技台は、回胴遊技機(スロットマシン)や弾球遊技機(パチンコ等)に代表される遊技台の分野で特に利用することができる。 The game machine of the present invention can be used particularly in the field of game machines represented by a spinning machine (slot machine) and a ball game machine (such as a pachinko machine).
100 パチンコ機
300 主制御部
304 CPU
306 ROM
308 RAM
310 I/O
400 第1副制御部
500 第2制御部
1100 スロットマシン
1300 主制御部
1304 CPU
1306 ROM
1308 RAM
1310 I/O
1400 第1副制御部
1500 第2制御部
100 Pachinko machine 300 Main control unit 304 CPU
306 ROM
308 RAM
310 I / O
400 First sub-control unit 500 Second control unit 1100 Slot machine 1300 Main control unit 1304 CPU
1306 ROM
1308 RAM
1310 I / O
1400 1st sub control part 1500 2nd control part
Claims (5)
前記遊技台は、ぱちんこ機またはスロットマシンであり、
前記CPUは、第一のジャンプ命令を受け付けたことに基づいて、第一のジャンプ先アドレスに記憶されている命令を受け付けることが可能なものであり、
前記CPUは、第二のジャンプ命令を受け付けたことに基づいて、第二のジャンプ先アドレスに記憶されている命令を受け付けることが可能なものであり、
前記第一のジャンプ命令には、3ビットの第一の識別情報が少なくとも含まれており、
前記第二のジャンプ命令には、3ビットの第二の識別情報が少なくとも含まれており、
前記第一のジャンプ先アドレスは、第一の値により示されるアドレスであり、
前記第二のジャンプ先アドレスは、第二の値により示されるアドレスであり、
前記第一の値は、前記第一の識別情報の8倍の値であり、
前記第二の値は、前記第二の識別情報の8倍の値とは異なり、3ビットで示すことが可能な最大値を1だけ超えた値の8倍の値である、
ことを特徴とする遊技台。 A game machine equipped with a microcomputer including at least a CPU,
The game table is a pachinko machine or a slot machine,
The CPU is capable of accepting an instruction stored in a first jump destination address based on accepting a first jump instruction ;
The CPU is capable of accepting an instruction stored in a second jump destination address based on accepting a second jump instruction ,
The first jump instruction includes at least 3-bit first identification information ,
The second jump instruction includes at least 3-bit second identification information ,
The first jump destination address is an address indicated by a first value;
The second jump destination address is an address indicated by a second value,
The first value is eight times the first identification information,
Unlike the value eight times that of the second identification information, the second value is a value that is eight times the value that exceeds the maximum value that can be indicated by 3 bits by 1.
A game stand characterized by that.
前記第二の識別情報は0である、
ことを特徴とする遊技台。 The game stand according to claim 1,
The second identification information is 0.
A game stand characterized by that.
前記第一の識別情報は1から7のいずれかの値である、 The first identification information is a value from 1 to 7,
ことを特徴とする遊技台。A game stand characterized by that.
前記第二のジャンプ先アドレスは、前記第一の識別情報の最大値である7を1だけ超えた値である8の8倍の値である64である、 The second jump destination address is 64, which is a value 8 times 8 that is a value that exceeds the maximum value 7 of the first identification information by 1.
ことを特徴とする遊技台。A game stand characterized by that.
前記CPUは、前記第一のジャンプ命令および前記第二のジャンプ命令とは異なるジャンプ命令を受け付けることも可能なものである、
ことを特徴とする遊技台。 The game stand according to any one of claims 1 to 4,
The CPU is also capable of accepting a jump instruction different from the first jump instruction and the second jump instruction.
A game stand characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011164594A JP5067681B1 (en) | 2011-07-27 | 2011-07-27 | Amusement stand |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011164594A JP5067681B1 (en) | 2011-07-27 | 2011-07-27 | Amusement stand |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012171817A Division JP2013027709A (en) | 2012-08-02 | 2012-08-02 | Game machine |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5067681B1 true JP5067681B1 (en) | 2012-11-07 |
JP2013027484A JP2013027484A (en) | 2013-02-07 |
Family
ID=47277782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011164594A Active JP5067681B1 (en) | 2011-07-27 | 2011-07-27 | Amusement stand |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5067681B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014073397A (en) * | 2013-11-26 | 2014-04-24 | Daito Giken:Kk | Game machine |
JP2023015642A (en) * | 2021-07-20 | 2023-02-01 | サミー株式会社 | game machine |
JP2023015643A (en) * | 2021-07-20 | 2023-02-01 | サミー株式会社 | game machine |
JP2023015641A (en) * | 2021-07-20 | 2023-02-01 | サミー株式会社 | game machine |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4035526B2 (en) * | 2004-08-20 | 2008-01-23 | 株式会社三共 | Slot machine |
JP5613938B2 (en) * | 2009-08-31 | 2014-10-29 | 株式会社ソフイア | Game machine |
-
2011
- 2011-07-27 JP JP2011164594A patent/JP5067681B1/en active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014073397A (en) * | 2013-11-26 | 2014-04-24 | Daito Giken:Kk | Game machine |
JP2023015642A (en) * | 2021-07-20 | 2023-02-01 | サミー株式会社 | game machine |
JP2023015643A (en) * | 2021-07-20 | 2023-02-01 | サミー株式会社 | game machine |
JP2023015641A (en) * | 2021-07-20 | 2023-02-01 | サミー株式会社 | game machine |
JP7343798B2 (en) | 2021-07-20 | 2023-09-13 | サミー株式会社 | gaming machine |
JP7343800B2 (en) | 2021-07-20 | 2023-09-13 | サミー株式会社 | gaming machine |
JP7343799B2 (en) | 2021-07-20 | 2023-09-13 | サミー株式会社 | gaming machine |
Also Published As
Publication number | Publication date |
---|---|
JP2013027484A (en) | 2013-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4991956B1 (en) | Amusement stand | |
JP4897100B1 (en) | Amusement stand | |
JP4975876B1 (en) | Amusement stand | |
JP5544644B2 (en) | Amusement stand | |
JP4976571B1 (en) | Amusement stand | |
JP5119559B1 (en) | Amusement stand | |
JP5811423B2 (en) | Amusement stand | |
JP4976569B1 (en) | Amusement stand | |
JP5256438B2 (en) | Amusement stand | |
JP5888528B2 (en) | Amusement stand | |
JP2013027709A (en) | Game machine | |
JP6047732B2 (en) | Amusement stand | |
JP5067681B1 (en) | Amusement stand | |
JP5344357B2 (en) | Amusement stand | |
JP5555948B1 (en) | Amusement stand | |
JP2013027740A (en) | Game machine | |
JP5119560B1 (en) | Amusement stand | |
JP5866623B2 (en) | Amusement stand | |
JP2012223573A (en) | Game machine | |
JP5344356B2 (en) | Amusement stand | |
JP5344355B2 (en) | Amusement stand | |
JP4976570B1 (en) | Amusement stand | |
JP2014028076A (en) | Game board | |
JP2014100542A (en) | Game machine | |
JP2013027685A (en) | Game machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120802 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150824 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5067681 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |