JP2019122530A - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP2019122530A
JP2019122530A JP2018004449A JP2018004449A JP2019122530A JP 2019122530 A JP2019122530 A JP 2019122530A JP 2018004449 A JP2018004449 A JP 2018004449A JP 2018004449 A JP2018004449 A JP 2018004449A JP 2019122530 A JP2019122530 A JP 2019122530A
Authority
JP
Japan
Prior art keywords
game
winning combination
processing
area
program
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.)
Granted
Application number
JP2018004449A
Other languages
English (en)
Other versions
JP7042480B2 (ja
Inventor
田中 勝也
Katsuya Tanaka
勝也 田中
谷川 義和
Yoshikazu Tanigawa
義和 谷川
孝幸 菊地
Takayuki Kikuchi
孝幸 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympia KK
Original Assignee
Olympia KK
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Olympia KK filed Critical Olympia KK
Priority to JP2018004449A priority Critical patent/JP7042480B2/ja
Publication of JP2019122530A publication Critical patent/JP2019122530A/ja
Application granted granted Critical
Publication of JP7042480B2 publication Critical patent/JP7042480B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Slot Machines And Peripheral Devices (AREA)

Abstract

【課題】遊技制御処理を行うための記憶領域の容量を確保する。【解決手段】遊技機は、制限された記憶容量内に遊技の進行を制御する遊技制御処理を実行するためのプログラムである使用プログラムが格納される使用領域と、遊技制御処理以外の遊技の進行に影響を及ぼさない処理を実行するためのプログラムである別プログラムが格納される別領域とを区分した記憶領域と、を備え、電源投入に応じて、初期化処理を実行した後にメインループ処理を実行し、初期化処理において、CPUは、使用プログラムに従ってスタックポインタを設定し(S101)、別プログラムを呼び出してチェックサムを実行し(S103)、使用プログラムに従ってスタックポインタをデクリメントする特定命令を実行し(S150)、特定命令から復帰することなくメインループ処理を実行する。【選択図】図14

Description

本発明は、遊技者に遊技上の利益を付与するか否かを抽選により決定する遊技機に関する。
遊技機としてのスロットマシンでは、遊技者によるメダル(遊技媒体)のベットおよびスタートスイッチの操作に応じて、当選役の抽選を行うとともに、種々の図柄が記された複数のリールが回転する。そして、抽選結果と遊技者によるストップスイッチの操作に応じてリールが順次停止され、払い出しの対象となるライン上である有効ライン上に、当選役に対応する図柄組み合わせが表示されると、所定枚数のメダルが払い出されるなど、遊技上の利益(以下、単に遊技利益という)が遊技者に付与されることとなる。
このようなスロットマシンでは、電源投入後、まず、所定の初期化処理が実行され、正常動作が確認された後に、メインループ処理に従って遊技が進行する。かかる初期化処理では、初期化前の割込の許可状態を把握することができないため、割込復帰命令(RETI)を実行して、後に続く割込を確実に受け付けられるようにする技術が知られている(例えば、特許文献1)。
特開2015−13058号公報
初期化処理においては、チェックサムを実行した後、チェックサムの実行結果に基づいて、状態復帰処理、設定値変更処理、コールドスタート処理等、複数の処理のいずれか1の処理が実行される。このようなチェックサムは、第三者の不正防止や不具合発見を目的とした異常状態を特定するセキュリティ関連処理に相当する。ここで、遊技の進行を制御する遊技制御処理を実行するためのプログラムやデータは、主制御基板に設けられたROMやRAMのうち、所定の使用領域に格納しなければならないが、遊技の進行に影響を及ぼさない、上記のセキュリティ関連処理等を実行するためのプログラムやデータは使用領域、および、使用領域とは異なる(使用領域外の)記憶領域のうちの一部である別領域のいずれにも格納できる。そこで、チェックサムを実行するためのプログラムやデータの少なくとも一部を別領域に記述し、使用領域の容量を確保することが考えられる。
しかし、このような別領域に記述されたチェックサムを実行するためのプログラムを呼出命令(CALL)等で呼び出すと、呼出命令の戻りアドレスがスタックポインタに上書きされ、バックアップ前とバックアップ後でチェックサムの対象となる記憶領域の内容が変わってしまう。そうすると、チェックサムの結果が一致しなくなる。そこで、チェックサムを実行する際、チェックサムの対象となる記憶領域以外の領域にスタックポインタを設定することで、呼出命令等による戻りアドレスの上書きがチェックサムの対象となる記憶領域に影響を及ぼさないようにしている。
ただし、チェックサムの対象となる記憶領域以外の領域にスタックポインタを設定した場合、チェックサム後、遊技に係る通常の処理を実行するために、スタックポインタを元のアドレスに再設定する必要が生じる。しかし、このようなスタックポインタの再設定処理に使用領域の記憶容量が割かれると、その分、遊技制御処理を行うための記憶領域が圧迫されるおそれがある。
本発明は、このような課題に鑑み、遊技制御処理を行うための記憶領域の容量を確保することが可能な遊技機を提供することを目的としている。
上記課題を解決するために、本発明の遊技機は、遊技を進行する制御基板を備え、前記制御基板に、CPUと、記憶容量が制限され、その制限された記憶容量内に遊技の進行を制御する遊技制御処理を実行するためのプログラムである使用プログラムが格納される使用領域と、前記遊技制御処理以外の遊技の進行に影響を及ぼさない処理を実行するためのプログラムである別プログラムが格納される別領域とを区分した記憶領域と、を備え、電源投入に応じて、初期化処理を実行した後にメインループ処理を実行する遊技機であって、前記初期化処理において、前記CPUは、前記使用プログラムに従ってスタックポインタを設定し、前記別プログラムを呼び出してチェックサムを実行し、前記使用プログラムに従ってスタックポインタをデクリメントする特定命令を実行し、前記特定命令から復帰することなく前記メインループ処理を実行する。
前記特定命令は、前記別プログラムを呼び出す呼出命令であってもよい。
本発明によれば、遊技制御処理を行うための記憶領域の容量を確保することが可能となる。
スロットマシンの概略的な機械的構成を説明するための外観図である。 スロットマシンの概略的な機械的構成を説明するための前面扉を開いた状態での外観図である。 リールの図柄配列および有効ラインを説明する図である。 スロットマシンの概略的な電気的構成を示したブロック図である。 当選役を説明するための説明図である。 遊技状態の遷移を説明するための説明図である。 当選役抽選テーブルを示す図である。 主制御基板のメイン処理を示したフローチャートである。 電源断退避処理を示したフローチャートである。 メインROMおよびメインRAMのメモリマップを示す説明図である。 初期化処理を示したフローチャートである。 RAMチェック処理を示したフローチャートである。 スタックポインタの設定態様を説明するための説明図である。 初期化処理の他の例を示したフローチャートである。 設定値変更確認処理を示したフローチャートである。 スタックポインタの推移を説明するための説明図である。
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
本発明の実施形態の理解を容易にするため、まず、遊技者が遊技可能なスロットマシン(遊技機)の機械的構成および電気的構成を簡単に説明し、その後、スロットマシンの各基板における具体的な処理(役構成や遊技状態の遷移)および本実施形態で特徴的な処理を説明し、これらを実現するためのフローチャートを詳述する。
(スロットマシン100の機械的構成)
図1および図2の外観図に示すように、スロットマシン100は、略矩形状の箱体である筐体102と、筐体102の前面開口部に対して開閉可能に取り付けられた前面上扉104と、前面上扉104の下方に位置し、前面上扉104同様、筐体102の前面開口部に対して開閉可能に取り付けられた前面下扉106と、前面下扉106の下部に位置し、メダル排出口108aから払い出されたメダルを貯留するための受け皿部108とを備えている。
前面下扉106の上部には操作部設置台122が形成され、操作部設置台122には、メダル投入部124、ベットスイッチ126、スタートスイッチ128、ストップスイッチ130等が配設されている。
操作部設置台122の右側に位置するメダル投入部124は、メダル投入口(投入口)124aを通じて遊技媒体としてのメダルの投入を受け付け、前面下扉106の背面に設けられたメダルセレクタ(図示せず)にメダルを送る。メダルセレクタには、メダルの投入が可能な投入期間外に投入されたメダルや規格外のメダルをメダル排出口108aに導くブロッカー(図示せず)と、投入期間内に投入された規格内のメダルの通過を検出する投入メダル検出部124bとが設けられている。ここで、メダル排出口108aに導かれたメダルは受け皿部108に排出される。遊技者により、1遊技を開始するために必要なメダルのベット枚数である複数の規定枚数のうち、最大規定枚数(例えば3枚)を超えてメダルが投入されると、その最大規定枚数を超えた分のメダルが、所定の上限枚数(例えば50枚)を上限としてスロットマシン100の内部(メインRAM200c)に電気的に貯留(以下、単にクレジットという)される。上記1遊技については後程詳述する。
また、ここでは、規定枚数は「1」〜「3」の複数が設定されている。なお、1遊技を実行するために必要な規定枚数を、遊技者は複数の規定枚数から任意に選択でき、その複数の規定枚数の中の最大のものを最大規定枚数といい、最小のものを最小規定枚数という。本実施形態では、最大規定枚数は「3」となり、最小規定枚数は「1」となる。
ベットスイッチ126は、クレジットされているメダルのうち最大規定枚数のメダルをベットする、押圧式のボタンスイッチである。最大規定枚数以上のメダルがクレジットされている状態で、ベットスイッチ126を押圧すると、最大規定枚数のメダルがベットされるとともに、貯留枚数が最大規定枚数分だけ減枚される。なお、最大規定枚数未満のメダルがクレジットされている状態で、ベットスイッチ126を押圧すると、貯留枚数のメダルの全てがベットされるとともに、貯留枚数が0枚に減枚される。
操作部設置台122の左側に位置するスタートスイッチ128は、傾倒操作を検出可能なレバーで構成され、遊技者による1遊技の開始操作を検出する。また、スタートスイッチ128は、押圧操作を検出可能なボタンスイッチによって構成することも可能である。
前面上扉104の下部略中央には、ガラス板や透明樹脂板等で構成された無色透明の図柄表示窓136が設けられ、筐体102内の図柄表示窓136に対応した位置には、リールユニット134が設けられている。リールユニット134には、図3(a)のリールの図柄配列に示すように、21に等分された各領域に複数種類の図柄がそれぞれ配列された3つのリール134a、134b、134cが、それぞれ独立して回動可能に設けられ、遊技者は、図柄表示窓136を通じて、リール134a、134b、134cを視認することができる。リールユニット134は、スタートスイッチ128の操作を契機として、リール134a、134b、134cの回転を開始する。
操作部設置台122の中央に位置するストップスイッチ130は、リール134a、134b、134cそれぞれに対応して設けられた、遊技者の押圧操作を検出可能なボタンスイッチであり、リール134a、134b、134cそれぞれを停止させようとする遊技者の停止操作を検出する。なお、ストップスイッチ130に係る3つのボタンスイッチを、その位置に応じて左から順にストップスイッチ130a、130b、130cとする。
このように、ストップスイッチ130a、130b、130cを通じた停止操作により、リール134a、134b、134cがそれぞれ停止する。ここでは、その停止態様を遊技者が把握できるように、図3(b)のように、有効ラインが設けられている。有効ラインは1本であり、具体的に、図柄表示窓136に臨む9つの図柄(3リール×上中下の3段)のうち、リール134a、134b、134cの中段に停止する図柄に対応する位置を結んだラインを当選役の入賞を判定するための有効ラインAとして設定している。また、無効ラインは、有効ラインA上に表示された図柄組み合わせのみでは当選役を把握しにくい場合に、当選役の把握を容易にする他の図柄組み合わせを表示する、当選役の入賞判定には用いられない有効ラインA以外のラインであり、本実施形態では、図3(b)に示す4つの無効ラインB1、B2、C1、C2を想定している。
前面上扉104の上部略中央には、演出に伴う様々な映像を表示する液晶表示部(画像表示部)138が設けられている。また、前面上扉104の上部や左右には、例えば高輝度の発光ダイオード(LED)によって構成される演出用ランプ142が設けられる。
また、図2に示すように、前面上扉104の裏面における液晶表示部138の左右位置や前面下扉106の裏面における内面左右位置には、効果音や楽音等による聴覚的な演出を行うスピーカ140が設けられている。さらに、筐体102内におけるリールユニット134の下方には、メダル排出口108aからメダルを払い出すためのメダル払出装置(メダルホッパー)264が設けられている。メダル払出装置264は、メダルを貯留するメダル貯留部264aと、メダル貯留部264aに貯留されたメダルをメダル排出口108aから排出するための払出制御部264bと、メダル排出口108aから排出されるメダルを検出する払出メダル検出部264cとを備えている。
また、図1や図2では図示していないが、各リール134a、134b、134cの内側には、それぞれに施された図柄のうち、図柄表示窓136に対応する(有効ラインAや無効ラインB1、B2、C1、C2の対象となり得る)各リール134a、134b、134cの上段、中段、下段の図柄を背面から個々に独立して照射するリールバックライト144(図4参照)が設けられている。また、図柄表示窓136の裏面上部にもリール134a、134b、134c全ての正面を直接照射するリール上方ライト146が設けられている。
また、図1に示すように、操作部設置台122において、図柄表示窓136とストップスイッチ130との間に設けられた段部122aの略水平面には、メインクレジット表示部152およびメイン払出表示部154が設けられている。また、図柄表示窓136と操作部設置台122との間には、サブクレジット表示部156およびサブ払出表示部158が設けられている。これらメインクレジット表示部152およびサブクレジット表示部156には内部的に記憶された貯留枚数が表示され、メイン払出表示部154およびサブ払出表示部158にはメダルの払出枚数が表示される。なお、サブクレジット表示部156およびサブ払出表示部158には、演出に伴う様々な数値を表示することもできる。
また、筐体102内の任意の位置には、電源スイッチ148が設けられている。電源スイッチ148は、ロッカースイッチ等、押圧操作を検出可能なスイッチで構成され、当該スロットマシン100を管理する管理者側が操作し、電源の切断状態と電源の投入状態の2つの状態を切り換えるために用いられる。
また、筐体102内には、後述する主制御基板200に、図示しない設定キーおよび設定変更スイッチ(これらを合わせて設定値設定手段という)が設けられている。スロットマシン100では、設定キーに所定の鍵(操作キー)が挿入されてOFFの位置からONの位置へ回転された状態で電源スイッチ148を介して電源が投入されると設定変更モードに移行し、設定値(有利度を段階的に示したもの)の変更(単に設定変更ともいう)が可能な状態となる。そして、設定変更が可能な状態において設定変更スイッチが押下される度毎に設定値が1ずつ加算され、例えば、6段階の設定値のうちのいずれかの設定値に変更され、スタートスイッチ128が操作されると、設定値が確定し、設定キーを元の位置(OFFの位置)に戻すことで設定変更モードが終了して遊技が可能となる。なお、設定変更は、電源スイッチ148が操作されて電源の投入状態となってから一定期間のみ可能となっている。
なお、本実施形態において、上記1遊技は、メダル投入部124を通じたメダルの投入、ベットスイッチ126の操作を通じたクレジットされているメダルの投入、または、リプレイ役が有効ラインA上に表示されたことに基づくメダルの自動投入のいずれかが行われてから、遊技者によるスタートスイッチ128の操作に応じて、複数のリール134a、134b、134cが回転制御されるとともに当選役抽選が実行され、当選役抽選の抽選結果および遊技者による複数のストップスイッチ130a、130b、130cの操作に応じて、操作されたストップスイッチ130a、130b、130cに対応するリール134a、134b、134cがそれぞれ停止制御され、メダルの払い出しを受け得る当選役に入賞した場合、そのメダルの払い出しが実行されるまでの遊技をいう。また、メダルの払い出しを受け得る当選役に非当選であった場合または当選したが入賞しなかった場合、リール134a、134b、134cが全て停止したことをもって1遊技が終了する。ただし、1遊技の開始を、上記のメダルの投入、または、リプレイ役の当選の代わりに、遊技者によるスタートスイッチ128の操作と読み替えてもよい。また、かかる1遊技が繰り返される数を遊技数とする。
(スロットマシン100の電気的構成)
図4は、スロットマシン100の概略的な電気的構成を示したブロック図である。図4に示すように、スロットマシン100は、主として、制御基板によって制御されている。ここでは、制御基板の一例として、制御基板の機能を分担した、主制御基板200と、副制御基板202とを挙げて説明する。例えば、遊技の進行に関わるプログラムのうち、遊技に供する当選役の抽選やその入賞といったような、特に重要な処理を主制御基板200で実行し、それ以外の例えば演出に関する処理を副制御基板202で実行している。また、図4に示したように、主制御基板200と副制御基板202との間の電気的な信号の伝達は、不正防止等の観点から、主制御基板200から副制御基板202への一方向のみに制限される。ただし、このような制限がなければ、電気的に双方向通信も技術的に可能である。
(主制御基板200)
主制御基板200は、中央処理装置であるメインCPU200a、プログラム等が格納されたメインROM200b、ワークエリアとして機能するメインRAM(RWM)200c等を含む各種半導体集積回路を有し、スロットマシン100全体を統括的に制御する。ただし、メインRAM200cには不図示のバックアップ電源が接続されており、電源が切断された場合においても、設定変更が行われてメインRAM200cの初期化処理を実行しない限り、データが消去されることなく保持される。
また、主制御基板200は、メインCPU200aが、メインROM200bに格納されたプログラムに基づきメインRAM200cと協働することで機能する、初期化手段300、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308、払出制御手段310、状態移行手段312、コマンド決定手段314、コマンド送信手段316等の機能部を有する。
初期化手段300は、主制御基板200における初期化処理を実行する。ベット手段302は、遊技に使用するためのメダルをベットする。ここで、ベットは、ベットスイッチ126の操作を通じてクレジットされているメダルを投入する場合と、メダル投入部124を通じてメダルを投入する場合と、リプレイ役が有効ラインA上に表示されたことに基づいてメダルを自動投入する場合のいずれも含む。当選役抽選手段304は、メダルのベットおよびスタートスイッチ128の操作に基づき、小役、リプレイ役、および、ボーナス役を含む複数種類の当選役、ならびに、不当選のうちいずれかを当選役抽選により決定する。
リール制御手段306は、スタートスイッチ128の操作に応じて、複数のリール134a、134b、134cを回転制御し、回転しているリール134a、134b、134cにそれぞれ対応した複数のストップスイッチ130a、130b、130cの操作に応じ、操作されたストップスイッチ130a、130b、130cに対応するリール134a、134b、134cをそれぞれ停止制御する。また、リール制御手段306は、スタートスイッチ128の操作に応じて、前回の遊技においてストップスイッチ130の操作を有効化してから、当選役抽選の抽選結果を表示するために遊技者によるストップスイッチ130の操作を有効化するまで(前回の遊技におけるストップスイッチ130の操作完了により無効化されている)の時間を規定の時間(ウェイト時間、例えば、4.1秒)より延長し、その間、リール134a、134b、134cを多彩な態様で回転制御するリール演出(フリーズ演出)を行う場合がある。リール演出は、本来有効となるべき任意のスイッチを所定時間有効にしなかったり、本来実行されるべき処理を所定時間保留したり、本来送受信されるべき任意のスイッチの信号を所定時間送信または受信させなかったりすることでも実現できる。
判定手段308は、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ラインA上に表示されたか否か判定する。ここで、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ラインA上に表示されることを単に入賞という場合がある。払出制御手段310は、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ラインA上に表示されたこと(入賞したこと)に基づいて、当該当選役に対応する数だけメダルを払い出す。状態移行手段312は、ボーナス役の当選や入賞に基づいて遊技状態を遷移させる。
コマンド決定手段314は、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308、払出制御手段310、状態移行手段312等の動作に伴う、遊技に関するコマンドを順次決定する。コマンド送信手段316は、コマンド決定手段314が決定したコマンドを副制御基板202に順次送信する。
主制御基板200では、投入メダル検出部124b、ベットスイッチ126、スタートスイッチ128およびストップスイッチ130から各種の検出信号を受信しており、受信した検出信号に基づいて、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308が上述した種々の処理を実行する。また、主制御基板200には、メインクレジット表示部152およびメイン払出表示部154が接続されており、払出制御手段310が両表示部152、154に対してメダルの貯留枚数や払出枚数の表示を制御する。
また、主制御基板200には、リール駆動制御部258が接続されている。このリール駆動制御部258は、スタートスイッチ128の操作信号に応じ、リール制御手段306から送信される各リール134a、134b、134cの回転開始信号に基づいて、ステッピングモータ262を駆動するとともに、ストップスイッチ130の操作信号に応じ、リール制御手段306から送信される、リール134a、134b、134cそれぞれの停止信号および回転位置検出回路260の検出信号に基づいて、ステッピングモータ262の駆動を停止する。
また、主制御基板200には、メダル払出装置264が接続されている。主制御基板200には払出メダル検出部264cの検出信号が入力されるようになっており、払出制御手段310は、その検出信号に応じてメダルの払出枚数を計数しながら払出制御部264bからのメダルの排出を制御する。
また、主制御基板200には、乱数発生器200dが設けられる。乱数発生器200dは、計数値を順次インクリメントし、所定の総数(例えば65536)内でループさせ(0〜65535)、所定の時点における計数値を抽出することで乱数を生成(取得)する。主制御基板200の乱数発生器200dによって生成される乱数(以下、当選役抽選乱数という)は、遊技者に付与する遊技利益、例えば、当選役抽選手段304が当選役を決定するために用いられる。
(副制御基板202)
また、副制御基板202は、主制御基板200と同様に、中央処理装置であるサブCPU202a、プログラム等が格納されたサブROM202b、ワークエリアとして機能するサブRAM202c等を含む各種半導体集積回路を有し、主制御基板200からのコマンドに基づき、特に演出を制御する。また、サブRAM202cにもメインRAM200c同様、不図示のバックアップ電源が接続されており、電源が切断された場合においても、データが消去されることなく保持される。なお、副制御基板202にも、主制御基板200同様、乱数発生器202dが設けられており、乱数発生器202dによって生成される乱数(以下、演出抽選乱数という)は、主に演出の態様を決定するために用いられる。
また、副制御基板202は、サブCPU202aが、サブROM202bに格納されたプログラムに基づき、サブRAM202cと協働することで機能する、初期化決定手段330、コマンド受信手段332、演出制御手段334等の機能部を有する。
初期化決定手段330は、副制御基板202における初期化処理を実行する。コマンド受信手段332は、主制御基板200等、他の制御基板からのコマンドを受信し、コマンドに対する処理を行う。演出制御手段334は、当選役コマンドに基づいて液晶表示部138、スピーカ140、演出用ランプ142の各デバイスで行われる遊技の演出を決定する。具体的に、演出制御手段334は、液晶表示部138に表示される画像データや、演出用ランプ142、リールバックライト144、リール上方ライト146、サブクレジット表示部156、サブ払出表示部158等の電飾機器を通じた演出のための電飾データを決定するとともに、スピーカ140から出力すべき音声を構成する音声データを決定する。そして、演出制御手段334は、決定した遊技の演出を実行する。
演出は、上述したリール演出のような主制御基板200によって実行される演出と、副制御基板202によって実行される演出がある。副制御基板202によって実行される演出は、遊技の進行に伴い、液晶表示部138、スピーカ140、演出用ランプ142、リールバックライト144、リール上方ライト146、サブクレジット表示部156、サブ払出表示部158等を通じて提供される視覚的および聴覚的な表現手段であり、当該遊技にストーリー性を与えたり、当選役抽選の結果をよりダイナミックな画像で示唆したりすることができる。このような演出では、例えば、ボーナス遊技の当選を示唆する演出を複数遊技に亘って行い、遊技者の期待感を高めることができる。また、たとえ、いずれの当選役にも当選していなかったとしても、恰も当選しているかのような演出を通じて遊技者に高配当の期待感を持たせ、遊技者を飽きさせないようにすることが可能となる。上記の主制御基板200および副制御基板202を連動させることで、様々な遊技性を構築することができる。以下、主となる遊技態様を詳述する。
(主制御基板200で用いられるテーブル)
スロットマシン100においては、複数の遊技状態が設けられており、遊技の進行に応じて遊技状態が遷移する。そして、主制御基板200では、状態移行手段312により管理される遊技状態に対応する複数の当選役抽選テーブル等がメインROM200bに格納されている。当選役抽選手段304は、メインRAM200cに記憶された現在の遊技状態(後述するボーナス役の成立有無に基づく遊技状態等)に応じて、対応する当選役抽選テーブルをメインROM200bから抽出し、抽出した当選役抽選テーブルと現在の設定値に基づき、スタートスイッチ128の操作信号に応じて取得された当選役抽選乱数が当選役抽選テーブル内のいずれの当選役または不当選に対応するか判定する。ここで、設定値は、遊技利益を得る容易性を段階的に示したものであり、その設定値の数値が高いほど、遊技利益を得易い。なお、設定値は、一般的に、ホール側管理者により少なくとも遊技開始時には決定されており、遊技者が、遊技中に設定値を取得および変更することはできないようになっている。
ここで、当選役抽選テーブルで抽出される当選役には、リプレイ役、小役、ボーナス役がある。このような当選役に対応する図柄組み合わせが、有効ラインA上に揃った状態を表示または入賞といい、当選役に当選し、その当選役に対応する図柄組み合わせが表示されるまでの状態を内部当選状態とする。当選役のうちのリプレイ役は、そのリプレイ役に対応する図柄組み合わせが有効ラインA上に表示されると、遊技者によるメダルの新たなるベットを行わずして再度1遊技を実行できる役であり、小役は、その小役に対応する図柄組み合わせが有効ラインA上に表示されることにより、図柄組み合わせに応じて所定枚数のメダルの払い出しを受けることができる役である。また、ボーナス役は、そのボーナス役に対応する図柄組み合わせが有効ラインA上に表示されることにより、状態移行手段312により管理される遊技状態をボーナス遊技状態に移行させることができる当選役である。以下に、当選役および遊技者に付与される遊技利益について説明する。
図5は、当選役を説明するための説明図であり、図6は、遊技状態の遷移を説明するための説明図である。
また、本実施形態においては、当選役として、図5に示すように、当選役「リプレイ」、「ベル」、「チェリー」、「スイカ」、「ビッグボーナス(以下「BB」という)」が設けられている。このうち、当選役「リプレイ」が上記リプレイ役に相当し、当選役「ベル」、「チェリー」、「スイカ」が上記小役に相当し、当選役「BB」が上記ボーナス役に相当する。
(リプレイ役)
当選役抽選の結果、当選役「リプレイ」に当選すると、図5に示した当選役「リプレイ」に対応する図柄組み合わせである、各リール134a、134b、134cそれぞれに記される図柄「リプレイ」が有効ラインA上に表示可能となり、当選役「リプレイ」に対応する図柄組み合わせが有効ラインA上に表示されると、上記したように、遊技者によるベットを行わずして再度1遊技(再遊技)を実行できる。
ここで、本実施形態においては、遊技者によってストップスイッチ130が押圧操作されたときに、当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段306によって、当該図柄が有効ラインA上に停止するように停止制御がなされる。また、ストップスイッチ130が押圧操作されたときに、当選役に対応する図柄組み合わせを構成する図柄が、有効ラインA上にはないが、各リール134a、134b、134cの回転方向と反対の方向の図柄4コマ分に相当する範囲(引込範囲)内に存在している場合には、リール制御手段306によって、離れている図柄数が滑りコマ数となり、当該当選役に対応する図柄組み合わせを構成する図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。また、当選役に対応する図柄が各リール134a、134b、134c中に複数あり、いずれも各リール134a、134b、134cの引込範囲内に存在している場合には、予め定められた優先順位に従っていずれの図柄を有効ラインA上に引き込むか決定され、当該優先された図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。なお、ストップスイッチ130が押圧操作されたときに、当選した当選役以外の当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段306によって、その図柄を有効ラインA上に停止させないようにする、所謂蹴飛ばし処理も並行して実行される。
そして、各リール134a、134b、134cにおいては、当選役「リプレイ」に対応する図柄組み合わせを構成する図柄が、上記の停止制御によって、必ず有効ラインA上に表示可能なように配列されている(図3および図5参照)。具体的に、当選役「リプレイ」に対応する図柄組み合わせを構成する図柄同士は、各リール134a、134b、134c内で最大図柄4コマ分しか離隔していないので、停止制御によって必ず有効ラインA上に表示することができる。このように、当選役「リプレイ」に当選すると、これら当選役「リプレイ」に対応する図柄組み合わせが、必ず、有効ラインA上に表示されることとなる。このようにして、当選役「リプレイ」に対応する図柄組み合わせが有効ラインA上に表示された場合には、メダルを投入することなく次の1遊技を開始することが可能となる。
(小役)
また、当選役抽選の結果、当選役「ベル」に当選した場合には、当選役「ベル」に対応する図柄組み合わせである、各リール134a、134b、134cそれぞれに記される図柄「ベル」が有効ラインA上に表示可能となり、当選役「ベル」に対応する図柄組み合わせが有効ラインA上に表示された場合には、当選役に対応した枚数(ここでは9枚)のメダルが遊技者に払い出される。ここで、当選役「ベル」に対応する図柄組み合わせを構成する図柄「ベル」同士は、各リール134a、134b、134c内で最大図柄4つ分しか離隔していないので(図3および図5参照)、当選役「リプレイ」同様、上記の停止制御によって、必ず有効ラインA上に表示することができる。
また、当選役抽選の結果、当選役「チェリー」に当選すると、当選役「チェリー」に対応する図柄組み合わせである、リール134aに記される図柄「チェリー」が有効ラインA上に表示可能となり、当選役「チェリー」に対応する図柄組み合わせが有効ラインA上に表示された場合には、当選役に対応した枚数(ここでは3枚)のメダルが遊技者に払い出される。なお、当選役「チェリー」に示される「ANY」は、対応する有効ラインA上にいずれの図柄が停止してもよいことを示す。ただし、リール134aにおいては、当選役「チェリー」に対応する図柄組み合わせを構成する図柄「チェリー」が、上記の停止制御によっても、有効ラインA上に表示されない場合があるように配列されている(図3および図5参照)。そのため、当選役「チェリー」に当選したとしても、所謂取りこぼしが生じることがあり、遊技者は、当選役「チェリー」に対応する図柄組み合わせを必ずしも有効ラインA上に表示させられるとは限らない。
また、当選役抽選の結果、当選役「スイカ」に当選すると、当選役「スイカ」に対応する図柄組み合わせである、各リール134a、134b、134cそれぞれに記される図柄「スイカ」が有効ラインA上に表示可能となり、当選役「スイカ」に対応する図柄組み合わせが有効ラインA上に表示された場合には、当選役に対応した枚数(ここでは15枚)のメダルが遊技者に払い出される。ただし、各リール134a、134b、134cにおいては、当選役「スイカ」に対応する図柄組み合わせを構成する図柄「スイカ」が、上記の停止制御によっても、有効ラインA上に表示されない場合があるように配列されている(図3および図5参照)。そのため、当選役「スイカ」に当選したとしても、所謂取りこぼしが生じることがあり、遊技者は、当選役「スイカ」に対応する図柄組み合わせを必ずしも有効ラインA上に表示させられるとは限らない。
(ボーナス役)
また、当選役抽選の結果、当選役「BB」に当選すると、図5に示した当選役「BB」に対応する図柄組み合わせである、各リール134a、134b、134cそれぞれに記される図柄「赤7」が有効ラインA上に表示可能となり、当選役「BB」に対応する図柄組み合わせが有効ラインA上に表示されると、遊技状態がボーナス遊技状態に設定され、次の1遊技(以下、単に次遊技という)以降、メダルが所定枚数(例えば、297枚)払い出されるまで、ボーナス遊技状態にて遊技を実行することが可能となる。なお、各リール134a、134b、134cにおいては、それぞれ図柄「赤7」が、上記の停止制御によっても、有効ラインA上に表示されない場合があるように配列されている(図3および図5参照)。そのため、当選役「BB」に当選したとしても、遊技者は、当選役「BB」に対応する図柄組み合わせを必ずしも有効ラインA上に表示させられるとは限らない。
なお、上述したいずれかの当選役に当選すると、それぞれの当選役に対応する内部当選フラグが成立(ON)するとともに、この内部当選フラグの成立状況に応じて、リール134a、134b、134cそれぞれの停止制御がなされることとなる。このとき、小役に当選したものの、その小役に対応する図柄組み合わせを、その1遊技内で有効ラインA上に表示させることができなかった場合には、当該1遊技の終了後に内部当選フラグがOFFされる。つまり、小役の当選の権利は小役に当選した1遊技内のみに限られ、当該権利を次遊技に持ち越すことはできない。また、リプレイ役である当選役「リプレイ」に対応する内部当選フラグが成立した場合には、当選役「リプレイ」に対応する図柄組み合わせが必ず有効ラインA上に表示され、メダルを要することなく次遊技を行うために必要となる処理が行われた後に、当該内部当選フラグがOFFされる。これらに対して、当選役「BB」に当選した場合には、BB内部当選フラグが成立(ON)するとともに、当選役「BB」に対応する図柄組み合わせが有効ラインA上に表示されるまで、BB内部当選フラグが遊技を跨いで持ち越される。
(遊技状態の遷移)
ここで、BB内部当選フラグについて、遊技状態の遷移と合わせて具体的に説明する。BB内部当選フラグが成立すると、BB内部当選フラグの成立状況に応じて、図6の(1)に示すように、主制御基板200で管理している遊技状態が、ボーナス役である当選役「BB」に当選していないボーナス非成立遊技状態から、ボーナス遊技状態の準備状態に相当するボーナス成立遊技状態となり、ボーナス成立遊技状態に基づいてリール134a、134b、134cそれぞれの停止制御がなされる。このとき、当選役「BB」に対応する図柄組み合わせを有効ラインA上に表示させることができなかった場合には、そのままBB内部当選フラグが次遊技に持ち越され(ボーナス成立遊技状態が維持され)、次回以降の遊技においても当選役「BB」に対応する図柄組み合わせを有効ラインA上に表示させることが可能となる。そして、遊技者が、当選役「BB」に対応する図柄組み合わせを有効ラインA上に表示させると、図6の(2)に示すように、遊技状態がボーナス成立遊技状態からボーナス遊技状態に移行する。また、ボーナス遊技状態において、所定枚数(例えば、297枚)を超えるメダルが払い出されると、図6の(3)に示すように、遊技状態が、ボーナス遊技状態からボーナス非成立遊技状態に移行する。ただし、図6の(4)に破線の矢印で示すように、ボーナス非成立遊技状態における当選役「BB」が成立した遊技で、当選役「BB」に対応する図柄組み合わせを有効ラインA上に表示させた場合、ボーナス成立遊技状態を経由せず、直接、ボーナス遊技状態に移行する。
(当選役抽選テーブル)
図7は、当選役抽選乱数を判定する場合に用いられる当選役抽選テーブルを示す図である。当選役抽選テーブルでは、複数の当選領域が区画されており、各遊技状態によって抽選の対象となる当選役が異なったりする。図7は、各遊技状態(ボーナス非成立遊技状態、ボーナス成立遊技状態、ボーナス遊技状態)毎に割り当てられた当選領域(当選役)を「○」で表している。したがって、「○」が記載されていない当選領域は、その遊技状態に割り当てられていないことを示す。区画化された各当選領域にはそれぞれ当選範囲を示す数値である所定の置数(当選範囲値)と当選役が対応付けられており、遊技状態毎に割り当てられた全ての当選領域の置数を合計すると当選役抽選乱数の総数(65536)となる。したがって、当選役それぞれが決定される確率は、当選領域に対応付けられた置数を当選役抽選乱数の総数で除算した値となる。当選役抽選手段304は、その時点の遊技状態に基づいて、当該当選役抽選テーブルにおける複数の当選領域のうち番号の高い方から、順次、置数を取得し、その置数を当選役抽選乱数から減算して、その減算値が0未満となると、その時点の当選領域に対応付けられた当選役を抽選結果としている。当該抽選の手順は、他の抽選においても適用できる。
また、各遊技状態によって抽選の対象となる当選役が異なっている。例えば、図7において、ボーナス非成立遊技状態と、ボーナス成立遊技状態とを比較すると、前者は当選役「BB」の抽選を行っているのに対し、後者では当選役「BB」の抽選を行っていない。これは、後者では、既に当選役「BB」に当選しているので重ねて当選役「BB」を当選させることができないからである。また、後者では、前者に比べ、当選役「リプレイ」の当選確率を高く設定している。また、図7のボーナス遊技状態によれば、重ねて当選役「BB」の抽選を行わないとともに、当選役「リプレイ」や当選役「スイカ」の抽選も行われない。また、当選役「ベル」が高確率で当選するように設定されているので、ボーナス非成立遊技状態やボーナス成立遊技状態と比べて、1遊技で獲得できる枚数の平均値を示す期待獲得枚数が高くなっている。なお、当選役抽選テーブルの当選領域0には、「不当選」が対応付けられており、当選役抽選によって「不当選」が決定すると、図5に示したいずれの当選役に対応する図柄組み合わせも有効ラインA上に表示されることなく、メダルの払い出し等が行われることはない。ただし、ボーナス成立遊技状態(BB内部当選フラグがON)において、当選役抽選によって「不当選」が決定すると、当選役「BB」に対応する図柄組み合わせが有効ラインA上に表示可能となる。
以下、主制御基板200における具体的処理をフローチャートに基づいて説明する。
(主制御基板200のメイン処理)
図8は、主制御基板200のメイン処理を示したフローチャートである。ここでは、まず、主制御基板200のメイン処理に沿って、初期化後の1遊技の概略を説明する。また、詳細な説明は省略するが、各処理が遂行される際、各処理において用いられるスイッチ(ベットスイッチ126、スタートスイッチ128、ストップスイッチ130a、130b、130c)は、処理の開始時に有効化され、処理の終了時に無効化される。
(ステップS100)
電源スイッチ148を介してスロットマシン100の電源が投入され、通電状態になると、初期化手段300は、遊技開始に備え初期化処理を実行する。初期化手段300は、電源が投入されている間、随時バックアップデータを生成し、そのバックアップデータをメインRAM200cに保持している。したがって、不意の電断が生じたとしても、この初期化処理において、保持されたバックアップデータを用い電断前の状態に復帰させることができる。例えば、リール134a、134b、134cの回転中に不意の電断が起きたとしても、復帰動作後に再度各リール134a、134b、134cが回転している状態から開始される。したがって、初期化処理では、基本的に、メインRAM200cの初期化(RAMクリア)は行われない。かかる初期化処理は後程詳述する。
(ステップS200)
また、コマンド決定手段314は、ベット枚数に変更があった場合に、変更されたベット枚数および貯留枚数を示す投入コマンドを生成し、コマンド送信手段316は、生成された投入コマンドを副制御基板202に送信する。かかるベット処理S200については、後程詳述する。
(ステップS300)
次に、当選役抽選手段304は、スタートスイッチ128に対する遊技開始操作を有効化し、スタートスイッチ128の操作待ち状態に移行する。ここで、当選役抽選手段304は、遊技者によるスタートスイッチ128の操作に応じて、主制御基板200の乱数発生器200dによって更新された当選役抽選乱数から、スタートスイッチ128が操作された時点における1の当選役抽選乱数を取得する。そして、当選役抽選手段304は、図7に示した当選役抽選テーブル、および、現在設定されている遊技状態に基づいて、取得した当選役抽選乱数が、いずれの当選領域に対応するか判定し、判定された当選領域の当選役または不当選を抽選結果として決定する。また、コマンド決定手段314は、スタートスイッチ128の操作に応じて抽選結果が決定された後、当選役抽選の抽選結果(当選役または不当選)や遊技状態に関する情報等を含む当選役コマンドを生成し、コマンド送信手段316は、生成された当選役コマンドを副制御基板202に送信する。また、状態移行手段312は、ボーナス非成立遊技状態において当選役「BB」に当選したことに基づき遊技状態をボーナス非成立遊技状態からボーナス成立遊技状態へ移行させる。
(ステップS400)
スタートスイッチ128が操作されると、リール制御手段306は、ステッピングモータ262を駆動してリール134a、134b、134cを回転させる。このリール回転処理においては、前回の1遊技におけるリール134a、134b、134cの回転開始時点から所定の時間(例えば4.1秒)が経過すると(ウェイト)、当該遊技におけるリール134a、134b、134cの回転を開始し、リール134a、134b、134cの全てが定速回転となったところで、ステップS500に処理を移す。また、リール制御手段306は、リール演出を実行する場合もある。
(ステップS500)
続いて、リール制御手段306は、ストップスイッチ130a、130b、130cを有効化し、遊技者によるストップスイッチ130a、130b、130cの操作を受け付けると、その操作に対応するリール134a、134b、134cのいずれかを停止制御する。また、コマンド決定手段314は、ストップスイッチ130a、130b、130cのいずれかの操作がなされると、操作がなされたストップスイッチ130a、130b、130cの情報を示す停止コマンド(第1停止コマンド、第2停止コマンド、第3停止コマンド)を操作の度に生成し、コマンド送信手段316は、生成された停止コマンドを順次、副制御基板202に送信する。
(ステップS600)
次に、判定手段308は、図3(b)に示した有効ラインA上に表示された図柄組み合わせが予め定められたどの組み合わせに相当するかを判定し、その図柄組み合わせに応じて遊技状態の変更やリプレイに際して要求される種々の処理を実行する。また、コマンド決定手段314は、有効ラインA上に表示された図柄組み合わせや、有効ラインA上に小役に対応する図柄組み合わせが表示された場合におけるメダルの払出枚数等を含む入賞コマンドを生成し、コマンド送信手段316は、生成された入賞コマンドを副制御基板202に送信する。また、状態移行手段312は、ボーナス成立遊技状態において当選役「BB」に対応する図柄組み合わせが有効ラインA上に表示されたことに基づき、遊技状態をボーナス成立遊技状態からボーナス遊技状態へ移行させる。
(ステップS700)
続いて、払出制御手段310は、ステップS600における判定結果に基づき、例えば、有効ラインA上に小役に対応する図柄組み合わせが表示されると、当該小役に対応するメダルの払出処理を実行し、有効ラインA上にリプレイ役に対応する図柄組み合わせが表示されると、自動的に次遊技のベットを行うための処理を実行する。また、状態移行手段312は、ボーナス遊技状態においてメダルの所定枚数の払い出しが実行されると、遊技状態をボーナス遊技状態からボーナス非成立遊技状態へ移行させる。このように、払出制御手段310は、有効ラインA上に表示された図柄組み合わせに対応して種々の処理を遂行し、当該1遊技を終了する。また、コマンド決定手段314は、メダルの払出処理がなされた場合、払出処理がなされたことを示す払出コマンドを生成し、コマンド送信手段316は、生成された払出コマンドを副制御基板202に送信する。
ステップS200からステップS700までの一連の処理を通じて1遊技が実行される。以後は、ステップS200からステップS700までのメインループ処理を繰り返すこととなる。以下、ステップS200からステップS700までの処理中に電源が切断された場合の電源断退避処理S800、および、電断後に電源を投入(再投入)した場合の初期化処理S100を説明する。
(電源断退避処理S800)
図9は、電源断退避処理S800を示したフローチャートである。電源が切断されると(電源の供給を停止しようとする操作が行われると)、パワーフェイルフラグがONとなり、割込処理として電源断退避処理S800に処理が移行される。
(ステップS801)
初期化手段300は、再度、パワーフェイルフラグがONの状態を維持しているか否か、すなわち、電源が切断された状態が維持されているか否か判定する。その結果、パワーフェイルフラグがONであれば、ステップS803に処理を移行し、パワーフェイルフラグがOFFであれば、ステップS802に処理を移行する。
(ステップS802)
上記ステップS801において、パワーフェイルフラグがOFFであると判定されれば、電源が切断された状態が維持されていないので、何らかの原因でパワーフェイルフラグが一時的にONになっただけとみなし、初期化手段300は、当該電源断退避処理S800が遂行される前の状態に復帰して、その元の状態から処理を再開する。
(ステップS803)
上記ステップS801において、パワーフェイルフラグがONであると判定されれば、初期化手段300は、IXレジスタを、スタックポインタが示す領域に退避する。ここでIXレジスタは、インデックスアドレッシング用16ビット専用レジスタである。
(ステップS804)
次に、初期化手段300は、スタックポインタをRAMの所定の領域に保存する。ここでの「RAM」は、メインRAM200cの一部であり、例えば、後述するF000h〜F1FFhの記憶領域を示す。なお、数値の末尾に付された「h」は、その数値が16進数であることを示す。
(ステップS805)
続いて、初期化手段300は、当該スロットマシン100中の各基板に設けられた全ての出力ポートをクリアする。
(ステップS806)
次に、初期化手段300は、チェックサムの結果を保存するためのRAMの所定の領域をクリアする。
(ステップS807)
続いて、初期化手段300は、バックアップフラグを保存するためのRAMの所定の領域に、バックアップフラグとして所定の値(例えば55h)を書き込む。
(ステップS808)
次に、初期化手段300は、チェックサムの対象となるRAMの領域全てに対して、チェックサムを実行し、その結果をチェックサムの結果を保存するためのRAMの所定の領域に書き込む。ここで、チェックサムは、データの信頼性を検査するための算出処理であり、例えば、全てのデータをバイト単位で加算する(ただし、桁あふれは無視する)ことを示す。
(ステップS809)
チェックサムが完了すると、以後のRAMへの不要なアクセスを防止すべく、初期化手段300は、RAMのプロテクトを設定する。
(ステップS810)
続いて、初期化手段300は、再度、パワーフェイルフラグがONの状態を維持しているか否か、すなわち、電源が切断された状態が維持されているか否か判定する。その結果、パワーフェイルフラグがONであれば、ステップS812に処理を移行し、パワーフェイルフラグがOFFであれば、ステップS811に処理を移行する。
(ステップS811)
上記ステップS810において、パワーフェイルフラグがOFFであると判定されれば、電源が再投入されたとみなして、初期化手段300は、初期化処理S100に処理を移す。
(ステップS812)
上記ステップS810において、パワーフェイルフラグがONであると判定されれば、初期化手段300は、RAMがプロテクトされてから、電源の供給が完全に停止されるまでに要する所定の時間が経過したか否か判定する。その結果、所定の時間が経過していれば、ステップS813に処理を移し、所定の時間が経過していなければ、ステップS810からの処理を繰り返す。したがって、所定の時間が経過するまでにパワーフェイルフラグがOFFすると、初期化処理S100が実行されることとなる(S811)。
(ステップS813)
上記ステップS812において、RAMがプロテクトされてから所定の時間が経過していると判定されれば、初期化手段300は、電源の供給を完全に停止する。このように、パワーフェイルフラグがONとなってから、ある程度時間が経過すると、スロットマシン100の電源の供給が完全に停止(切断)される。電源が停止されると、それまでに遂行されていたプログラムがリセット(初期化)され、それが割込処理であっても、初期の状態に戻る。
そして、このように電源が停止された状態でスロットマシン100の電源が投入され、通電状態になると、上述したように、初期化手段300は初期化処理S100を実行する。かかる初期化処理S100においては、後述するように、まず、バックアップフラグが判定されるとともに、チェックサムが実行され、その後、バックアップフラグの判定結果およびチェックサムの実行結果に基づいて、状態復帰処理、設定値変更処理、コールドスタート処理等、複数の処理のいずれか1の処理が実行される。このようなバックアップフラグの判定やチェックサムの実行は、後述するセキュリティ関連処理に相当するため、バックアップフラグの判定処理やチェックサムの実行処理のためのプログラムやデータは、遊技の進行を制御する遊技制御処理を実行するためのプログラムやデータを格納する使用領域とは異なる別領域に格納することができる。以下、メインCPU200aによる使用領域や別領域といったメモリ管理について説明する。
(メインCPU200aによるメモリ管理)
上述したように、主制御基板200においては、メインCPU200aが、メインROM200bに格納されたプログラムに基づきメインRAM200cと協働することで、初期化手段300、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308、払出制御手段310、状態移行手段312、コマンド決定手段314、コマンド送信手段316等として機能し、遊技の進行を制御する。これらの機能部を実行するためのプログラムは、メインROM200bおよびメインRAM200cの所定の領域(使用領域)に配される。
図10は、メインROM200bおよびメインRAM200cのメモリマップを示す説明図である。ここで、メインROM200bには、0000h〜2FFFh(12kbyte)のメモリ空間が割り当てられ、メインRAM200cには、F000h〜F1FFh(512byte)およびF200h〜F3FFh(512byte)のメモリ空間が割り当てられている。また、メインROM200bおよびメインRAM200cのいずれにおいても使用領域が規定されている。
メインROM200bの0000h〜1DF3hのメモリ空間には使用領域が割り当てられている。具体的に、0000h〜11FFh(4.5kbyte)に制限されたメモリ空間に、初期化手段300、ベット手段302、当選役抽選手段304、リール制御手段306、判定手段308、払出制御手段310、状態移行手段312、コマンド決定手段314、コマンド送信手段316を機能させて遊技の進行を制御する遊技制御処理を実行するためのプログラムの命令コードが格納され、1200h〜1DF3h(3.0kbyte)に制限されたメモリ空間に、遊技制御処理のプログラムに用いられるデータが格納されている。また、1E00h〜1EFFhのメモリ空間にはコメント領域が割り当てられ、2FC0h〜2FFFhのメモリ空間にはプログラム管理領域が割り当てられている。また、プログラムの命令コードはアセンブラ言語で記述されている。ここで、プログラムは、命令コードで構成されたものであり、コンピュータに読み出され、データやワークエリアと協働して所定の処理を実現することができる。
また、メインRAM200cのF000h〜F1FFhのメモリ空間には使用領域が割り当てられている。具体的に、F000h〜F13Fhのメモリ空間には、上記遊技制御処理のワークエリアが割り当てられ、タイマ、カウンタ、フラグ等の変数管理に用いられる。F1C0h〜F1FFhのメモリ空間には、上記遊技制御処理のスタック領域が割り当てられている。
また、スロットマシン100では、上述した遊技制御処理の他に、所定の契機で、遊技の進行に影響を及ぼさない処理である、遊技機用試験処理、セキュリティ関連処理等を遂行する場合がある。かかる所定の契機としては、遊技制御処理の割込に応じたタイミング(例えば、1遊技の終了時)や、遊技制御処理と独立した異なる割込に応じたタイミングを採用することができる。また、遊技機用試験処理は、回胴式遊技機用試験機の接続仕様書(第四版)に記載されているスロットマシン100の試験処理である。セキュリティ関連処理は、第三者の不正防止や不具合発見を目的とした異常状態を特定する処理であり、例えば、上述したバックアップフラグの判定やチェックサムの実行も含まれる。
このように、メインCPU200aは、遊技制御処理のみならず、遊技機用試験処理、セキュリティ関連処理も遂行する場合がある。しかし、使用領域の記憶容量は予め定められており、例えば、図10に示したように、制御領域が4.5kbyteに制限され、データ領域が3.0kbyteに制限されている。したがって、遊技制御処理のみならず、遊技機用試験処理、セキュリティ関連処理のプログラムやデータまでも使用領域に配すると、その分、遊技制御処理を行うための記憶領域が制限されてしまう。特に、遊技利益が大きい選択当選役と他の当選役とが重複した選択当選種別であり、ストップスイッチ130a、130b、130cの操作態様が、複数の操作態様のうちの所定の操作態様(正解操作態様)であること、すなわち、所定の操作順(打順)または所定の操作タイミングあるいはこれらの組み合わせであることが選択当選役の入賞条件として設定された選択当選種別が当選役抽選により決定したときに、演出制御手段334が、その選択当選役の入賞条件となる正解操作態様を報知する補助演出を行うことで、当該選択当選役に対応する図柄組み合わせを、遊技者が有効ラインA上に容易に表示させることができる、所謂、AT(アシストタイム)を実行するAT演出状態や、リールユニット134を多彩な態様で回転させる所謂リール演出を、メインCPU200aが管理する場合、遊技制御処理を行うための記憶領域がさらに圧迫されるおそれがある。
ここで、遊技制御処理を実行するためのプログラム(使用プログラム)やデータは、必ず使用領域に格納しなければならないが、遊技制御処理以外の遊技の進行に影響を及ぼさない(直接関係のない)処理(遊技機用試験処理、セキュリティ関連処理等)を実行するためのプログラム(別プログラム)やデータは使用領域および別領域のいずれにも格納することができる。
そこで、本実施形態では、セキュリティ関連処理に該当する処理であるバックアップフラグの判定処理やチェックサムの実行処理を実行するためのプログラムやデータの少なくとも一部を、使用領域とは異なる(使用領域外の)記憶領域のうちの一部である別領域に記述する。
具体的に、図10を用いて説明したように、メインROM200bの0000h〜1DF3hのメモリ空間、および、メインRAM200cのF000h〜F1FFhのメモリ空間には使用領域が割り当てられている。そして、かかる使用領域とは別の領域に別領域を設定する。例えば、図10に示すように、メインROM200bの1F00h〜2FBFhのメモリ空間には別領域が割り当てられ、セキュリティ関連処理のうち一部または全部の処理を遂行するプログラムの命令コードおよびプログラムデータが格納されている。また、メインRAM200cのF200h〜F3FFhのメモリ空間には別領域が割り当てられている。具体的に、F210h〜F22Fhのメモリ空間には、上記セキュリティ関連処理のうち一部または全部の処理のワークエリアが割り当てられ、タイマ、カウンタ、フラグ等の変数管理に用いられる。F230h〜F246hのメモリ空間には、上記セキュリティ関連処理のうち一部または全部の処理のスタック領域が割り当てられている。なお、別領域に記憶容量の制限はなく、図10の例では、使用領域、コメント領域、および、プログラム管理領域以外の記憶領域に、自由に割り当てることができる。
このように使用領域で遂行される処理(ここでは、遊技制御処理)と、必ずしも使用領域で行わなくてよい処理(ここでは、セキュリティ関連処理)とが混在している場合には、遊技制御処理を実行するためのプログラム(使用プログラム)やデータを使用領域に格納し、使用領域で行わなくてよい、遊技制御処理以外の遊技の進行に影響を及ぼさない処理(セキュリティ関連処理)を実行するためのプログラム(別プログラム)やデータを別領域に格納することが望ましい。このように記憶領域を複数に区分することで、別領域に移動させたプログラムの分だけ使用領域の記憶領域(容量)に余裕が生じる。したがって、その分、使用領域を遊技制御処理(使用プログラム)に割り当てることが可能となる。
ただし、上記のように記憶領域を、使用領域、別領域とで役割分担した場合においても、スロットマシン100の公正さは担保されなくてはならない。そこで、スロットマシン100の公正さを担保しつつ、使用領域と別領域とで適切に役割分担するために、以下の(1)〜(6)の条件を規定する。
条件(1)、別領域に配置するプログラムについては、スロットマシン100の試験に必要な信号の出力(遊技機用試験処理)および不正防止(セキュリティ関連処理)を目的として使用され、遊技の公正を害さない(損なわない)ものであること。条件(2)、使用領域と別領域の制御領域およびデータ領域については、それぞれを明示的に区別された領域に配置すること。条件(3)、別領域に配置するプログラム(別プログラム)は、使用領域のプログラム(使用プログラム)から静的に呼び出された上で実行されること。また、その際のプログラムリストにおいては、呼び出し先アドレスが明らかに記載されていること。条件(4)、別領域に配置するプログラムは機能ごとにモジュール化し、呼び出された際には、使用領域で利用している全レジスタの内容を保護すること。条件(5)、使用領域または別領域から互いの領域にあるRAMへのアクセスは参照のみ可能とし、更新は不可とすること。条件(6)、別領域の制御領域から使用領域の制御領域にあるサブルーチンを呼び出すことは不可とすること。なお、使用領域に割込処理を行うサブルーチンを設けることから、別領域の制御領域を使用する際には、割込禁止にする必要が生じる。なお、遊技制御処理を適切に遂行するために、割込禁止を行ってから割込禁止を解除するまでの時間は、遊技制御処理における割込処理の間隔(例えば1.49msec)以内とならなければならない。したがって、別領域の制御領域を使用するサブルーチンを呼び出す場合、その1回の呼び出しにかかる総時間は、遊技制御処理の割込処理の間隔以内となるように設定することとなる。
このような(1)〜(6)の条件を満たすために、本実施形態においては、セキュリティ関連処理に該当する処理であるバックアップフラグの判定処理やチェックサムの実行処理を別プログラムとし、使用プログラムから静的に、例えば、呼出命令(CALL)で呼び出す。また、別プログラムでの処理結果は、使用プログラムによるRAMへのアクセスによってのみ参照可能なので、処理結果を一旦RAMへ書き込む。かかる構成により、使用領域には呼出命令のみ記述すれば足りるので、遊技制御処理を行うための記憶領域の容量を確保することができる。
しかし、このように使用領域で呼出命令を用いると、呼出命令の戻りアドレスがスタックポインタに上書きされ、バックアップ前とバックアップ後でチェックサムの対象となる記憶領域の内容自体が変わってしまう。そうすると、チェックサムの結果が一致しなくなる。そこで、チェックサムを実行する際、チェックサムの対象となる記憶領域以外の領域にスタックポインタを設定することで、呼出命令等による戻りアドレスの上書きがチェックサムの対象となる記憶領域に影響を及ぼさないようにしている。以下、初期化処理S100の比較例を挙げ、スタックポインタの変更処理を含む初期化処理S100を説明し、その後、改良された初期化処理S100について詳述する。
(初期化処理S100)
図11は、上記ステップS100の初期化処理を示したフローチャートである。ここでは本実施形態の特徴に関係する処理について説明し、本実施形態の特徴と無関係の処理については説明を省略する。
(ステップS101)
初期化手段300は、まず、スタックポインタを初期化する(設定する)。
(ステップS102)
所定の処理に引き続き、初期化手段300は、電源断退避処理S800で設定されたRAMプロテクトを解除する。
(ステップS103)
RAMプロテクト解除処理S102が終了すると、初期化手段300は、呼出命令(CALL)により別プログラムを呼び出し、RAMチェック処理S103を実行する。
(RAMチェック処理S103)
図12は、上記ステップS103のRAMチェック処理を示したフローチャートである。
(ステップS103−1)
まず、別プログラムに従って、電源断退避処理S800において書き込まれたバックアップフラグを読み出し、そのバックアップフラグが正常な所定の値(例えば55h)であるか否か判定する。その結果、バックアップフラグが所定の値であれば、ステップS103−2に処理を移し、所定の値でなければステップS103−5に処理を移す。なお、バックアップフラグは、当該判定処理(S103−1)後にクリアされる。
(ステップS103−2)
上記ステップS103−1において、バックアップフラグが所定の値であると判定されれば、別プログラムに従って、チェックサムの対象となるRAMの領域全てに対して、チェックサムを実行する。
(ステップS103−3)
次に、別プログラムに従って、ステップS103−2のチェックサムの結果と、電源断退避処理S800において書き込まれたチェックサムの結果とが一致しているか否か、すなわち、対象となるRAMの領域のデータが正常に保持されているか否か判定する。その結果、チェックサムの結果が一致していれば、ステップS103−4に処理を移し、一致していなければステップS103−5に処理を移す。
(ステップS103−4)
上記ステップS103−3において、チェックサムの結果が一致していると判定されれば、RAMエラーフラグをOFFして当該RAMチェック処理S103を終了する。
(ステップS103−5)
上記ステップS103−1において、バックアップフラグが所定の値ではないと判定されれば、また、上記ステップS103−3において、チェックサムの結果が一致していないと判定されれば、RAMエラーフラグをONして当該RAMチェック処理S103を終了する。
ここでは、一度の呼出命令(CALL)により、バックアップフラグの判定処理やチェックサムの実行処理を纏めて実行する。こうすることで、使用領域において、当該処理を呼び出す呼出命令を1つだけ格納すれば足りることとなる。こうして、使用領域の容量を十分に確保することが可能となる。
また、バックアップフラグの判定処理やチェックサムの実行処理を、1の呼出命令で実行しているので、その結果を一度にRAMに書き込むことが可能となる。このように、バックアップフラグの判定処理やチェックサムの実行処理の結果を一度にRAMに書き込むことで、以降の条件分岐を単純化することができる。
(ステップS104)
図11に戻って、初期化手段300は、スタックポインタを再設定する。ここでスタックポインタを再設定する理由を図13を用いて説明する。
図13は、スタックポインタの設定態様を説明するための説明図である。ここでは、「SP」にスタックポインタを示し、アドレスにその内容を対応づけている。
ここでは、仮に、図13(a)のように、チェックサムの対象となる記憶領域をF000h〜F1FFhとし、スタックポインタをF200hに設定したとする。こうすることで、初期化処理S100によってスタック領域に退避された戻りアドレスも復元できる。しかし、上記のように、チェックサムの実行を、呼出命令による別プログラムで行うことにより、図13(b)においてハッチングで示したように、使用領域のスタックポインタに示されるスタック領域(例えば、F1FEh、F1FFh)に、呼出命令の戻りアドレスが退避される。そうすると、チェックサムの対象となる記憶領域のうちF1FEh、F1FFhの内容が変更されることとなるので、かかる領域を含む記憶領域のチェックサムの結果が異なることとなる。したがって、チェックサムの結果が一致せず、以下の条件分岐では必ずコールドスタート処理が選択され、状態復帰処理や設定値変更処理が選択されることがなくなる。
そこで、本実施形態では、RAMチェック処理S103の呼出命令によるスタック領域(例えば、F1FEh、F1FFh)をチェックサムの対象から除外する。例えば、図13(c)のように、本来、全ての記憶領域であるF000h〜F1FFhを対象とするところ、スタック領域を除いた記憶領域であるF000h〜F1FDhをチェックサムの対象とする。そして、スタックポインタ初期化処理S101においては、RAMチェック処理S103の呼出命令のために、一旦、スタックポインタをF200hとする。こうすることで、図13(d)のように、RAMチェック処理S103の呼出命令の戻りアドレスをスタック領域(例えば、F1FEh、F1FFh)に退避したとしても、チェックサムの対象となる記憶領域に影響を及ぼすことはないので、チェックサムを確実に実行することが可能となる。そして、RAMチェック処理S103が終了し、呼出命令から復帰すると、スタックポインタは、F200hに戻る。ここでは、スタックポインタ再設定処理S104において、図13(e)のように、スタックポインタを強制的にF1FEhに再設定する(書き換える)。すなわち、ここでは、RAMチェック処理S103の呼出命令のために、一時的にスタックポインタをインクリメントし、スタック領域を広げ、RAMチェック処理S103の呼出命令の終了に応じて、チェックサムの対象をデクリメントしている(通常に戻している)。こうして、以後の使用領域を用いた処理においては、スタック領域に退避された戻りアドレスもバックアップ後に確実に復元できることとなる。
(ステップS105)
図11に戻って、初期化手段300は、RAMエラーフラグがONであるか否か判定する。その結果、RAMエラーフラグがONであれば、ステップS110に処理を移し、RAMエラーフラグがOFFであれば、ステップS106に処理を移す。
(ステップS106)
上記ステップS105において、RAMエラーフラグがOFFであると判定されれば、初期化手段300は、設定キーがONしているか否か判定する。その結果、設定キーがONしていれば、ステップS109に処理を移し、設定キーがOFFであれば、ステップS107に処理を移す。
(ステップS107)
上記ステップS106において、設定キーがOFFであると判定されれば、設定値が変更されることなく電源が投入されたとして、初期化手段300は、電断前のスタックポインタを復帰させる。
(ステップS108)
電源復帰に関する所定の処理に引き続き、初期化手段300は、電源断退避処理S800が遂行される前の状態に復帰し、その元の状態から処理を再開する。
(ステップS109)
上記ステップS106において、設定キーがONであると判定されれば、設定値が変更されるとして、初期化手段300は、RAMの内容をクリアし、ステップS110に処理を移す。
(ステップS110)
初期化手段300は、上述した設定変更モードを実行し、設定変更スイッチの押下操作に応じて設定値を1ずつ加算し、また、スタートスイッチ128の操作に応じて、その時点の設定値を、それ以降の設定値として保持する。そして、設定キーがOFFにされると、初期化手段300は、図8のステップS200からステップS700までの通常のメインループ処理に移行する。
(ステップS111)
上記ステップS105において、RAMエラーフラグがONであると判定されれば、初期化手段300は、メインRAM200cを正常に利用可能か否か判定するため、メインRAM200cの内容をクリアする。
(ステップS112)
続いて、初期化手段300は、クリアしたメインRAM200cが異常であるか否か判定する。その結果、メインRAM200cが異常であれば、ステップS113に処理を移し、メインRAM200cが異常でなければ、ステップS114に処理を移す。ここでは、RAMエラーフラグがON(S105におけるYES)、かつ、RAM異常(S112におけるYES)であれば、強制的に、エラーストップ処理に移行することとしている。
(ステップS113)
上記ステップS112において、メインRAM200cが異常であると判定されれば、初期化手段300は、例えば、メイン払出表示部154にエラーコード「EA」を表示するように指令する。なお、エラーコード「EA」は、メインRAM200cに対しデータを正常に読み書きができないRAM異常を検出した場合に生じるエラーを示す。
(ステップS114)
上記ステップS112において、メインRAM200cが異常ではないと判定されれば、初期化手段300は、設定キーがONしているか否か判定する。その結果、設定キーがONしていれば、ステップS110に処理を移し、設定キーがOFFであれば、ステップS115に処理を移す。ここでは、上記のように、RAMエラーフラグがON(S105におけるYES)、かつ、RAM異常であれば(S112におけるYES)、強制的に、エラーストップ処理に移行することを前提に、一方で、RAM異常でなければ(S112におけるNO)、設定変更モードへの移行有無を優先的に判断し、設定キーがONであれば、設定変更モードに強制的に移行する。そして、設定キーがOFFの場合には、エラーストップ処理に移行する。
(ステップS115)
上記ステップS114において、設定キーがOFFであると判定されれば、初期化手段300は、例えば、メイン払出表示部154にエラーコード「E7」を表示するように指令する。なお、エラーコード「E7」は、電源スイッチ148の投入時においてRAMのバックアップ異常を検出した場合に生じるバックアップエラーを示す。
(ステップS116)
続いて、初期化手段300は、スロットマシン100の動作の進行を停止するエラーストップ処理を実行する。このようにエラーストップ処理が実行されると、再度、電源を切断し、設定変更モードに移行させない限り、図8のステップS200からステップS700までの通常のメインループ処理に移行することはない。
以上、示したように、バックアップフラグの判定処理やチェックサムの実行処理を別プログラムで実行することで使用領域の容量を確保することができる。また、スタックポインタ初期化処理S101において、一旦、スタックポインタをインクリメントしてF200hとし、スタックポインタ再設定処理S104において、図13(e)のように、スタックポインタをデクリメントして強制的にF1FEhに再設定する構成により、RAMチェック処理S103以後にスタック領域に退避された戻りアドレスも確実に復元することができる。
しかし、スタックポインタ再設定処理S104自体もある程度記憶容量を占有するので、かかるスタックポインタ再設定処理S104により使用領域の記憶容量が割かれると、その分、遊技制御処理を行うための記憶領域が圧迫されるおそれがある。そこで、本実施形態では、スタックポインタを操作することで、遊技制御処理を行うための記憶領域の容量を確保することを目的としている。
ところで、図11を用いて説明した状態復帰処理、設定値変更処理、コールドスタート処理それぞれの最終的な処理は以下のように異なる。すなわち、状態復帰処理は、ステップS108で示したように、電源断退避処理S800が遂行される前の状態に復帰し、その元の状態から処理を再開する。設定値変更処理は、ステップS109で示したように、RAMの内容がクリアされた状態で、図8のステップS200からステップS700までの通常のメインループ処理に移行する。コールドスタート処理は、ステップS116に示したように、エラーストップ処理が実行される。
そうすると、状態復帰処理、設定値変更処理、コールドスタート処理の各処理においては、スタックポインタの再設定を要さない場合がある。具体的に、状態復帰処理は、電源断退避処理S800が遂行される前の状態に復帰されるので、現在のスタックポインタは必要なくなる。設定値変更処理は、そのまま通常のメインループ処理に移行するので現在のスタックポインタがそのまま有効に利用される。コールドスタート処理は、再度、電源を切断しないと、その状態から復帰しないので、現在のスタックポインタは意味を要さない。すなわち、設定値変更処理は、現行のスタックポインタが有効に利用されるので、スタックポインタ再設定処理S104のようなスタックポインタの再設定が必要であるが、状態復帰処理およびコールドスタート処理は、スタックポインタの再設定を要さない。
したがって、状態復帰処理、設定値変更処理、コールドスタート処理に対し、画一的にスタックポインタ再設定処理S104を行わなくとも、少なくとも設定値変更処理を実行した際にスタックポインタの再設定が行われれば、スタックポインタを有効に機能させ得ることが理解できる。なお、スタックポインタ再設定処理S104では、図13を用いて説明したように、スタックポインタがF200hに戻った後、そのスタックポインタを、記憶容量が2バイト分小さい(アドレスでは2h小さい)F1FEhに再設定している。換言すると、スタックポインタが記憶容量2バイト分(アドレスでは2h分)デクリメントされている。このようなスタックポインタのデクリメントは、特定命令としての呼出命令(CALL)等を実行し、スタック領域にアドレスを退避した際も行われる。そこで、本実施形態では、スタックポインタ再設定処理S104の代わりに、呼出命令等を実行することで、スタック領域にアドレスを退避し(スタック領域を要し)、スタックポインタ再設定処理S104と同様、スタックポインタを記憶容量2バイト分デクリメントさせる。
(初期化処理S100)
図14は、上記ステップS100の初期化処理の他の例を示したフローチャートである。なお、図11を用いて既に説明した処理については同一の符号を付すことでその詳細な説明を省略し、ここでは、図14中、太線で囲った処理について詳述する。
(ステップS150)
上記ステップS105において、RAMエラーフラグがOFFであると判定されれば、または、上記ステップS110において、メインRAM200cが異常ではないと判定されれば、初期化手段300は、呼出命令によって、設定値変更確認処理S150を実行する。
(設定値変更確認処理S150)
図15は、上記ステップS150の設定値変更確認処理を示したフローチャートである。なお、図11を用いて既に説明した処理については同一の符号を付すことでその詳細な説明を省略し、ここでは、図15中、太線で囲った処理について詳述する。
(ステップS150−1)
まず、初期化手段300は、設定キーがONしているか否か判定する。その結果、設定キーがONしていれば、ステップS150−2に処理を移し、設定キーがOFFであれば、当該設定値変更確認処理S150を終了する。
(ステップS150−2)
上記ステップS150−1において、設定キーがONであると判定されれば、設定値が変更されたとして、初期化手段300は、RAMの内容をクリアして、図8のステップS200からステップS700までの通常のメインループ処理に直接移行する。
かかる設定値変更確認処理S150のステップS150−1は、図11のステップS114に対応し、ステップS150−2は、図11のステップS109に対応する。したがって、図11と、図14および図15とを比較すると、プログラムの処理の流れは実質的に等しいことが理解できる。
ただし、図14および図15の例では、図11に示したスタックポインタ再設定処理S104を行うことなく、設定値変更確認処理S150を呼出命令で呼び出した後、設定値変更確認処理S150から復帰することなく、直接、図8のステップS200からステップS700までの通常のメインループ処理に移行している。したがって、呼出命令により、スタックポインタが記憶容量2バイト分デクリメントされた後、呼出命令の復帰によりスタックポインタが戻る(インクリメントされる)ことなく、スタックポインタが記憶容量2バイト分デクリメントされた状態が維持される。こうして、少なくとも設定値変更処理を実行した際に、図11に示したスタックポインタ再設定処理S104と同等なスタックポインタの再設定が行われることになる。以下、図14、図15における初期化処理S100のスタックポインタの推移を説明する。
図16は、スタックポインタの推移を説明するための説明図である。ここでは、「SP」にスタックポインタを示し、アドレスにその内容を対応づけている。
ここでは、図16(a)のように、チェックサムの対象となる記憶領域をF000h〜F1FDhとしたとする。そして、図14のスタックポインタ初期化処理S101においては、RAMチェック処理S103の呼出命令のために、一旦、スタックポインタをF200hとする。こうすることで、図16(b)のように、RAMチェック処理S103の呼出命令の戻りアドレスをスタック領域(例えば、F1FEh、F1FFh)に退避したとしても、チェックサムの対象となる記憶領域に影響を及ぼすことはないので、チェックサムを確実に実行することが可能となる。そして、図14のRAMチェック処理S103が終了し、呼出命令から復帰すると、図16(c)のように、スタックポインタは、F200hに戻る。しかし、ここでは、スタックポインタ再設定処理S104を行わない。
そして、ステップS105において、RAMエラーフラグがOFFであると判定されれば、または、上記ステップS112において、メインRAM200cが異常ではないと判定されれば、呼出命令(CALL)によって、設定値変更確認処理S150が呼び出される。このとき、図16(d)のように、設定値変更確認処理S150の呼出命令の戻りアドレスがスタック領域(例えば、F1FEh、F1FFh)に退避され、スタックポインタがF1FEhに設定される。ここで、呼出命令から復帰することなく、直接、図8のステップS200からステップS700までの通常のメインループ処理に移行すると、スタックポインタは、F1FEhのまま維持され、以後の使用領域を用いた処理においては、スタック領域に退避された戻りアドレスもバックアップ後確実に復元できることとなる。
なお、ステップS150−1において設定キーがOFFであると判定されれば、設定値変更確認処理S150の呼出命令から復帰し、スタックポインタはF200hになるが、上述したように、状態復帰処理およびコールドスタート処理は、スタックポインタの再設定を要さないので問題が生じることはない。
このように、呼出命令を実行しつつも呼出命令から復帰しないで、スタックポインタのデクリメントを実現する構成により、スタックポインタ再設定処理S104を省略し、スタックポインタ再設定処理S104が占有する使用領域の記憶領域を低減することができる。すなわち、スタックポインタ再設定処理S104は使用領域において10バイト以上の命令コードを要するのに対し、呼出命令は3バイトしか要さず、使用領域では、その差分に相当する記憶容量が解放される。したがって、遊技制御処理を行うための記憶領域の容量を確保することが可能となる。
なお、ここでは、スタックポインタをデクリメントするための特定命令として呼出命令(CALL)を挙げているが、かかる場合に限らず、スタック領域を利用してスタックポインタを更新させれば足り、例えば、退避命令(PUSH)等、様々な命令を用いることができる。また、かかるスタックポインタをデクリメントするための特定命令を行うタイミングは、RAMチェック処理S103後からメインループ処理に移行するまでのいずれで行ってもよい。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことはいうまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
また、上述した実施形態では、主制御基板200と副制御基板202とが、遊技を進行するための機能部を分担するように配したが、主制御基板200の機能部を副制御基板202に配しても、副制御基板202の機能部を主制御基板200に配してもよく、また、全ての機能部を1の制御基板に纏めて配することもできる。
また、上述した実施形態においては、遊技利益としてボーナス遊技を挙げて説明したが、かかる場合に限らず、上述したAT演出状態や、リプレイ役の当選確率が通常遊技より高くなるように設定してメダルの消費を抑えることで、メダルの消費に対する当選役の抽選機会を増やす、RT(リプレイタイム)遊技や、上記のATとRT遊技が同時に進行されるART遊技を設けてもよい。
また、上述した実施形態では、スロットマシン100においてバックアップフラグの判定処理やチェックサムの実行処理を別領域で行うとともに設定値変更処理に呼出命令を用いる例を挙げて説明したが、パチンコ機において行うとしてもよい。ここで、パチンコ機は、大当たり図柄を含む複数種類の図柄の中からいずれかを決定する図柄決定手段と、図柄が決定されてから所定の変動時間が経過すると、図柄表示部に図柄を表示させる図柄表示手段と、図柄表示部に大当たり図柄が表示されると、複数回のラウンド遊技で構成される大役遊技を実行する大役遊技実行手段と、大役遊技におけるラウンド遊技のうち予め設定された特定ラウンド遊技中に、大入賞口に入球した遊技球が特定領域に進入すると、所定の遊技利益を付与する遊技利益付与手段と、大役遊技中の演出を実行する演出実行手段と、を備えてもよい。
また、上述した主制御基板200および副制御基板202が行う各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
100 スロットマシン(遊技機)
126 ベットスイッチ
128 スタートスイッチ
130a、130b、130c ストップスイッチ
134a、134b、134c リール
200a メインCPU
200b メインROM
200c メインRAM
300 初期化手段

Claims (2)

  1. 遊技を進行する制御基板を備え、前記制御基板に、CPUと、記憶容量が制限され、その制限された記憶容量内に遊技の進行を制御する遊技制御処理を実行するためのプログラムである使用プログラムが格納される使用領域と、前記遊技制御処理以外の遊技の進行に影響を及ぼさない処理を実行するためのプログラムである別プログラムが格納される別領域とを区分した記憶領域と、を備え、電源投入に応じて、初期化処理を実行した後にメインループ処理を実行する遊技機であって、
    前記初期化処理において、前記CPUは、
    前記使用プログラムに従ってスタックポインタを設定し、
    前記別プログラムを呼び出してチェックサムを実行し、
    前記使用プログラムに従ってスタックポインタをデクリメントする特定命令を実行し、
    前記特定命令から復帰することなく前記メインループ処理を実行する遊技機。
  2. 前記特定命令は、前記別プログラムを呼び出す呼出命令である請求項1に記載の遊技機。
JP2018004449A 2018-01-15 2018-01-15 遊技機 Active JP7042480B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018004449A JP7042480B2 (ja) 2018-01-15 2018-01-15 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018004449A JP7042480B2 (ja) 2018-01-15 2018-01-15 遊技機

Publications (2)

Publication Number Publication Date
JP2019122530A true JP2019122530A (ja) 2019-07-25
JP7042480B2 JP7042480B2 (ja) 2022-03-28

Family

ID=67398168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018004449A Active JP7042480B2 (ja) 2018-01-15 2018-01-15 遊技機

Country Status (1)

Country Link
JP (1) JP7042480B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7294717B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294719B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294720B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294724B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294721B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294723B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294722B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294718B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7300212B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台
JP7300211B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台
JP7300214B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台
JP7300215B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台
JP7300213B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013233286A (ja) * 2012-05-09 2013-11-21 Sophia Co Ltd 遊技機
JP2015097680A (ja) * 2013-11-19 2015-05-28 株式会社大都技研 遊技台
JP2016209035A (ja) * 2015-04-28 2016-12-15 サミー株式会社 遊技機
JP2017018368A (ja) * 2015-07-10 2017-01-26 サミー株式会社 遊技機
JP2017018367A (ja) * 2015-07-10 2017-01-26 サミー株式会社 遊技機
JP2018175780A (ja) * 2017-04-21 2018-11-15 株式会社三共 遊技機

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013233286A (ja) * 2012-05-09 2013-11-21 Sophia Co Ltd 遊技機
JP2015097680A (ja) * 2013-11-19 2015-05-28 株式会社大都技研 遊技台
JP2016209035A (ja) * 2015-04-28 2016-12-15 サミー株式会社 遊技機
JP2017018368A (ja) * 2015-07-10 2017-01-26 サミー株式会社 遊技機
JP2017018367A (ja) * 2015-07-10 2017-01-26 サミー株式会社 遊技機
JP2018175780A (ja) * 2017-04-21 2018-11-15 株式会社三共 遊技機

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7294717B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294719B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294720B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294724B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294721B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294723B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294722B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7294718B1 (ja) 2022-06-03 2023-06-20 株式会社大都技研 遊技台
JP7300212B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台
JP7300211B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台
JP7300214B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台
JP7300215B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台
JP7300213B1 (ja) 2022-06-03 2023-06-29 株式会社大都技研 遊技台
JP2023177739A (ja) * 2022-06-03 2023-12-14 株式会社大都技研 遊技台
JP2023177740A (ja) * 2022-06-03 2023-12-14 株式会社大都技研 遊技台
JP2023177742A (ja) * 2022-06-03 2023-12-14 株式会社大都技研 遊技台
JP2023177738A (ja) * 2022-06-03 2023-12-14 株式会社大都技研 遊技台

Also Published As

Publication number Publication date
JP7042480B2 (ja) 2022-03-28

Similar Documents

Publication Publication Date Title
JP2019122530A (ja) 遊技機
JP6679512B2 (ja) 遊技機
JP4859397B2 (ja) 弾球遊技機
JP5220169B2 (ja) 弾球遊技機
JP6695790B2 (ja) 遊技機
JP2018007871A (ja) 遊技台
JP6738162B2 (ja) 遊技機
JP6654618B2 (ja) 遊技機
JP2002078875A (ja) 遊技機
JP2006068228A (ja) 遊技機
JP2019092681A (ja) 遊技機
JP6723606B2 (ja) 遊技機
JP6047730B2 (ja) 遊技台
JP7457272B2 (ja) スロットマシン
JP7457274B2 (ja) スロットマシン
JP7390569B2 (ja) 回胴式遊技機
JP7412031B2 (ja) 遊技機
JP7428945B2 (ja) 遊技機
JP7461057B2 (ja) 遊技機
JP7417110B2 (ja) 遊技機
JP7054933B2 (ja) 遊技機
JP2017225567A (ja) スロットマシン
JP2022173630A (ja) 遊技機
JP2022173632A (ja) 遊技機
JP2024052725A (ja) 遊技機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220308

R150 Certificate of patent or registration of utility model

Ref document number: 7042480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150