JP4021655B2 - Game software distribution system and game machine - Google Patents
Game software distribution system and game machine Download PDFInfo
- Publication number
- JP4021655B2 JP4021655B2 JP2001369978A JP2001369978A JP4021655B2 JP 4021655 B2 JP4021655 B2 JP 4021655B2 JP 2001369978 A JP2001369978 A JP 2001369978A JP 2001369978 A JP2001369978 A JP 2001369978A JP 4021655 B2 JP4021655 B2 JP 4021655B2
- Authority
- JP
- Japan
- Prior art keywords
- game
- personal computer
- data
- control board
- nonvolatile memory
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータネットワークを活用した遊技ソフトの配信システム及びそのようなシステムに適合した遊技機に関するものである。
【0002】
【従来の技術】
弾球遊技機は、一般に、機能別に分離された複数の回路基板で構成され、複数の回路基板が協働して全体として複雑な遊技動作を実現している。このような遊技機では、遊技制御を統括的に担当する主制御基板と、主制御基板から送信される制御コマンドに基づいて個別的に動作する複数のサブ制御基板とで構成されるのが一般的である。
【0003】
サブ制御基板としては、例えば、液晶ディスプレイを制御する図柄制御基板、遊技球の払出動作を制御する払出制御基板、LEDランプなどを点滅させて遊技動作を盛上げるランプ制御基板、音声的に遊技動作を盛上げる音声制御基板などが存在する。これらのサブ制御基板では、主制御基板から送信されてきた制御コマンドを解釈して、その制御コマンドに従って上記した各演出を行っている。
【0004】
【発明が解決しようとする課題】
ところで、遊技機では各制御基板が協働して全体として遊技演出を行っているものの、主制御基板は、最適なタイミングで必要な制御コマンドを送信して各サブ制御基板で実行すべき動作種別を指令しているだけであり、具体的な演出動作は専らサブ制御基板の制御プログラムに委ねられている。したがって、主制御基板の制御プログラムを全く変更しなくても、サブ制御基板の制御プログラムや制御プログラムが参照するデータ(音声データや画像データなど)さえ変更すれば、同じ遊技機であっても全く異なった演出動作が可能となる。
【0005】
このような遊技機のバージョン変更のために、サービスマンを各遊技ホールに派遣してサブ制御基板の取り替えを行うことも考えられるが、単にプログラムやその参照データを変更するためだけに、サブ制御基板そのものを取り替えるのでは資源の無駄遣いとなる。また、サービスマンを一々派遣するのではなく、遊技ホールの係員の作業によって遊技機をバージョン変更できれば遊技ホールにとっても費用の削減を図ることができる。なお、サブ制御基板に加えて、主制御基板についても簡単にバージョン変更できれば更に好ましい。
【0006】
この発明は、このような着想に基づいてなされたものであって、簡単に遊技機のバージョン変更を実現できる遊技ソフト配信システムを提供することを課題とする。また、回路基板の取り替えを伴うことなくバージョン変更を可能にした遊技機を提供することを課題とする。
【0007】
【課題を解決するための手段】
上記課題を解決するために、本発明に係る遊技機は、遊技制御を統括的に担当する主制御部と、前記主制御部から送信される制御コマンドに基づいて動作するサブ制御部とが設けられ、前記サブ制御部及び/又は前記主制御部には、電気的に書換え可能な不揮発性メモリと、前記不揮発性メモリに格納された遊技プログラムに基づいて遊技制御を実現するCPUとが搭載され、サーバ機器と遊技ホールのパソコンとネットワーク回線とで構成された配信システムを利用して、前記パソコンが前記サーバ機器から受けた遊技プログラムを、遊技制御を実現する前記CPUが、前記パソコンから取得して、前記不揮発性メモリに書込むようにした遊技機であって、前記パソコンでは、前記サーバ機器から受信した暗号化データの整合性をチェックして、暗号化データが正常に受信されているか否かを判定する処理、前記整合性のチェックで異常がなかったことを前記サーバ機器に通知する処理、及び、その後に受信する、遊技ホール毎に固有の復号化キーに基づいて前記暗号化データを復号化して、当該遊技ホールに設置されている各遊技機を一意に特定する一群のコードと、前記遊技プログラムとを得る処理が、この順番で実行されており、前記不揮発性メモリには、前記パソコンから前記遊技プログラム及び前記一群のコードを受信する受信ソフトと、前記不揮発性メモリの消去及び書込みをする書換えソフトと、当該遊技機を一意に特定するコードとが記憶されており、前記遊技プログラムのバージョン変更時には、前記遊技プログラムを前記不揮発性メモリに書き込むのに先立って、前記受信ソフトが受信した前記一群のコードと、前記不揮発性メモリに記憶されている前記コードとを照合し、一致するコードが存在する場合だけ、前記不揮発性メモリの記憶内容をRAMに転送した後、前記不揮発性メモリの消去及び書込み処理が実行される。
【0008】
また、本発明に係る配信システムは、サーバ機器とパソコンとネットワーク回線とで構成され、前記パソコンが、前記の遊技機に対して、サーバ機器から受けた遊技プログラム及び一群のコードを送信可能に構成されている。また、本発明は、この配信システムで使用されるサーバ機器である。
【0009】
【発明の実施の形態】
以下、実施例に基づいて本発明の実施の形態を説明する。図1は、実施例に係る遊技ソフト配信システムの構成図であり、遊技ホールなどのユーザは、インターネット回線NETを通して遊技機の制御プログラム及びその関連データ(以下、全体として遊技ソフトと言う)の配信を受けることができるようになっている。
【0010】
図示の通り、この配信システムは、ホームページを開設して遊技機の遊技ソフトの配信要求を受け付けるサーバ機器SVと、ブラウザが動作可能なユーザパソコンPCと、前記両機器を接続するインターネット回線NETとで構成されている。サーバ機器SVには、ブラウザからの要求(リクエスト)に応じてソフト配信用ページなどをWEBデータベースDBから読み出して送信するサーバプログラムと、ユーザ認証やソフト配信やユーザ管理を実現するCGIプログラムとが搭載されている。なお、ユーザパソコンは、ノート型パソコンであり、配信されたプログラムCheck.exeやWrite.exeも実行するようになっている。
【0011】
図2は、サーバ機器SVとユーザパソコンPCとの間で実行される一連の処理を概説したものである。ユーザパソコンPCのブラウザが配信要求用のHTMLファイルを要求すると、サーバ機器SVは、そのリクエストに応答して、ユーザIDとパスワードとを要求するテキストボックスを設けたトップページを返送する(ステップa)。次に、ユーザからユーザIDとパスワードとが送信されてくると、その組合せの正当性を認証した後、サーバ機器SVは当該ユーザのユーザIDを書き込んだ配信用画面(HTMLファイル)を返信する(ステップb)。
【0012】
この配信用画面は、遊技機の機種を特定して遊技ソフトの配信を要求できる構成となっている。この配信用画面で、配信ソフトを特定して所定の操作を行うと、その要求は当該HTMLファイルに書き込んであるユーザIDと共に送信プログラム(Trans.cgi)に渡される(ステップc)。送信プログラム(Trans.cgi)では、要求された遊技ソフトにつきユーザ毎の暗号化処理を行った後、ユーザ側で実行すべき実行ファイル(Check.exe)を連結してユーザに送信する(ステップc)。
【0013】
送信を受けたユーザ側で実行ファイル(Check.exe)を実行すると、受信ファイルのCRCチェックを行った後、正しく受信できていればサーバ側に受信完了データを送信するようになっている(ステップd)。そして、受信完了データを受けたCGIプログラム(History.cgi)では、その旨の情報をデータベースに登録した後、先に送信した遊技ソフトを復号化するための復号キーを送信して処理を終える(ステップd)。
【0014】
図3は、上記したステップcの処理を実現するCGIプログラム(Trans.cgi)の処理の具体的内容を示すフローチャートである。ユーザから遊技ソフトの配信要求があれば、当該遊技ホールの送信履歴テーブルTBL1(図4(a))をチェックして、既に送信済みでないかを確認する(ST1)。そして、既に送信済みであれば、そのことを示す画面を送信して処理を終える(ST3)。これは、同一ユーザから重複して送信要求があることは通常考えられないので、重複要求は違法な送信要求であると擬制して配信を拒否するものである。
【0015】
なお、ユーザIDやパスワードの漏洩により、違法者が先に配信を完了しており、正当ユーザがその後で配信を要求する場合もあり得る。しかし、かかる場合は電話やメールによる個別交渉で対処可能であり、且つ漏洩したユーザIDやパスワードを迅速に変更できる利点もある。
【0016】
ステップST2の判定が通常はNOとなるので、Trans.cgiは、次に、要求のあった遊技ソフトをWEBデータベースから読出し(ST4)、これに、機器管理テーブルTBL2から読み出した機器シリアル番号を付加して一つのファイルとする(ST5)。図4(b)に例示するように、機器管理テーブルTBL2には、遊技ホールに設置されている遊技機のうち、本システムによって遊技ソフトの書換えが可能な全ての遊技機について、その機器シリアル番号が登録されている。なお、この機器シリアル番号は、当該遊技機を一意的に特定できるコード(番号及び/又は記号)である。
【0017】
ステップST5の処理が終われば、続いて、遊技ソフトと機器シリアル番号を連結したファイルを、ユーザ固有の暗号化キーによって暗号化する(ST6)。そして、この暗号化データに、ユーザ側で実行すべきプログラム(Check.exe)を連結させ(ST7)、連結データをパケット化して実行ファイルとしてクライアント側に送信して処理を終える(ST8)。なお、図3(b)は、送信されるデータを模式的に図示したものである。
【0018】
実行ファイルの送信を受けたブラウザでは、ユーザの操作に応じて適当な場所に実行ファイルを保存することになる。そして、ユーザが実行ファイルを実行すると、図5(a)に示すチェック処理が開始される。チェック処理では、先ず、送信されてきた全データについて、受信データの整合性チェックとして、CRCチェックが行われる(ST20)。なお、CRC値は受信したファイル中に記憶されている。
【0019】
ここでCRCチェックがOKとならない場合とは、通信環境の不良などによって遊技ソフトが正常に受信できなかった場合である。そこで、このような場合には全ファイルを削除して処理を終える(ST22)。但し、通常の場合にはCRCチェックはOKとなるので、この場合には受信完了データをサーバ側に送信する(ST23)。
【0020】
この受信完了データは、図3(c)に示すHistory.cgiに渡されるようになっている。そして、History.cgiでは、送信履歴テーブルTBL1に、配信済みの遊技ソフトを特定するソフトIDや配信日などを記入してテーブル内容を更新する(ST10)。その後は不図示の課金処理などに移行するが、これ以降は同一ユーザからの同一遊技ソフトの配信要求が拒否されることになる。次に、History.cgiは、各ユーザ固有の暗号化に対応した復号化キーをユーザに送信して処理を終える(ST11)。本実施例では、遊技ソフト配信のたびに復号化キーを送信するので暗号化キーを毎回変更できる利点がある。この構成に代えて、ユーザ毎の暗号化キーと復号化キーを確定しておき、予めユーザに通知しておく構成を採っても良い。但し、このような構成は、本発明の範囲ではない。
【0021】
次に、ユーザパソコン側の処理に説明を戻すが、Check.exeの求めに応じてユーザが復号化キーを入力すると(ST24)、暗号化されていた配信データは復号化され、シリアル番号列と遊技ソフトが復元される(ST25)。そこで、後で実行されるデータ転送処理プログラム(Write.exe)と、復号化されたシリアル番号列及び遊技ソフトとをファイルの保存した後、Check.exeを削除して処理を終える(ST26)。このように、ユーザに配信された実行プログラムCheck.exeは、一度しか実行されないので、受信完了データが重複して送信されることはない。なお、図5(c)は、ユーザパソコンに保存されるデータ転送処理プログラム(Write.exe)と、シリアル番号列及び遊技ソフトとを模式的に図示したものである。
【0022】
このデータ転送処理プログラム(Write.exe)は、遊技機の遊技ソフトをバージョン変更するためのプログラムであるが、その説明の前に、バージョン変更の対象となる遊技機の構成から説明する。図6は、実施例のシステムでバージョン変更されるパチンコ機の全体構成を図示したブロック図である。
【0023】
図示のパチンコ機は、遊技動作を中心的に制御する主制御基板1と、液晶ディスプレイ8の動作を制御する図柄制御基板2と、音声的に遊技動作を盛上げる音声制御基板3と、ランプ類を点滅動作させて遊技動作を盛上げるランプ制御基板4と、遊技球を払出す払出制御基板5と、払出制御基板5に制御されて遊技球を発射する発射制御基板7と、AC24Vを受けて装置各部に直流電圧を供給する電源基板6とを中心に構成されている。そして、サブ制御基板2〜5は、主制御基板1からの制御コマンドに基づいて個別的な制御動作を実現している。
【0024】
主制御基板1、図柄制御基板2、音声制御基板3、ランプ制御基板4、払出制御基板5は、それぞれCPU、RAM、ROMを備えるコンピュータ回路で構成されている。ここで、各サブ制御基板2〜5にはフラッシュROMが搭載されており、これに合わせて、フラッシュROM書換え用の専用の入出力ポート(図7参照)が設けられている。なお、フラッシュROMとは、EEPROM(Electrically Erasable and Programmable Read Only Memory)のうち、一括電気的消去及び書込みが可能なフラッシュEEPROMを意味する。
【0025】
このように、本実施例に係る遊技機は、図柄制御基板2、音声制御基板3、ランプ制御基板4、及び払出制御基板5のROMが、全てフラッシュROMで構成されているので、遊技動作のバージョン変更に際してICを基板から取り外すことなくオンボード状態でのデータ更新が可能となる。すなわち、図5(c)に図示する遊技ソフトには、払出制御基板用、ランプ制御基板用、音声制御基板用、及び、図柄制御基板用のものが含まれており、具体的には、各サブ制御基板のCPUによって実行される遊技制御プログラムと、音声制御基板や図柄制御基板で必要となる音声データや画像データが含まれている。
【0026】
オンボード状態でのデータ更新には、ユーザパソコン(図1に示すノート型パソコン)が使用され、このパソコンには、フラッシュROM書換え用の入出力ポートが設けられている。そして、図7に示すように、ユーザパソコンPCiの出力ポートからは、8ビットデータDiとストローブ信号STBとが出力され、またサブ制御基板から返送される応答信号ACKが入力ポートに入力されるようになっている。
【0027】
続いて、図8〜図9のフローチャートに基づいてフラッシュROMの書換え処理(バージョン変更)について説明する。図8は、ユーザパソコンPCで実行される転送処理プログラム(Write.exe)の処理内容、図9及び図10は、遊技機のサブ基板で実行される割込み処理プログラムの内容を示している。
【0028】
図8に示すように、転送処理プログラム(Write.exe)を実行すると、最初に、転送先のサブ制御基板が特定され、これに合わせて転送データが特定される。そして、特定されたサブ制御基板に対して、確認テストデータが出力される(ST30)。なお、以下の説明において、「データが出力される」とは、ユーザパソコンの出力ポートにデータが出力され、且つ、その後でストローブ信号STBが出力されることを意味する。そしてストローブ信号STBは、サブ制御基板のCPUの割込み端子に供給され、その受信割込み処理プログラムにおいてユーザパソコンからの出力データが取得される。また、ユーザパソコンからのデータを取得したサブ制御基板では、適宜なタイミングで受信応答信号ACKを返送するようになっている。
【0029】
したがって、転送処理プログラム(Write.exe)では、確認テストデータを出力した後、応答信号ACKの受信を待ち、応答信号ACKを受信したら次の処理に移行することになる(ST31)。なお、ユーザパソコンから最初に確認テストデータを送信するのは、サブ制御基板にはノイズなどによって受信割込みが生じる可能性もあるからである。
【0030】
応答信号ACKを確認できたら、次に、転送処理プログラムは、シリアル番号を順番に出力する(ST32〜ST34)。すなわち、1個目のシリアル番号を出力すれば遊技機からの応答信号ACKを待ち、応答信号ACKの受信後、次のシリアル番号を出力する。ここで、シリアル番号とは、当該遊技ホールに設置されている遊技機の機器シリアル番号であり、サーバから送信されてきた遊技ソフトに添付されているデータである。このシリアル番号は、遊技ホールに設置されている遊技機の台数に合わせて複数個(n個)存在するが、最終のシリアル番号の後には00Hが記載されている。なお、図8(b)は、ユーザパソコンの送信バッファの状態を例示したものであり、n個のシリアル番号と最終データ00Hとその後の各サブ制御基板向けのプログラム等が記載されている。
【0031】
ステップST32,ST33の処理を繰り返すと、ユーザパソコンは、やがて最終データ(00H)を出力することになり、この最終データを出力した後は、ブロック番号を示すブロック変数iを初期設定して(ST35)遊技ソフトの転送処理に移行する。
【0032】
この実施例では、転送すべき遊技ソフトを所定バイト長からなる複数個のブロックに区分し、各ブロックの最後には当該ブロックについてのCRC値を送信するようにしている。そして、各ブロックのデータを1バイト送信する毎にサブ制御基板から応答信号ACKの受信を待ち(ST36,ST37)、1ブロック分のデータの最後に送信したCRC値についての応答信号ACKを受信して1ブロック分の処理を終える。
【0033】
後述するように、1ブロック分のデータを受信したサブ制御基板では、CRCチェックによって正しくデータを受信できたか否かを判定し、正しく受信できた場合には、フラッシュROMの書換え処理を行った後に応答信号ACKを返信する。一方、CRCチェックによって異常となった場合には、直ちに応答信号ACKを返信して、同一ブロックのデータの再送信を待つ。
【0034】
サブ制御基板では、このような処理を行っているので、ユーザパソコン側では、応答信号ACKを受信するまでに要する時間によって、同一ブロックのデータを再送信するか、次ブロックのデータを送信するかを判定している。具体的には、先ず、タイマ変数tをゼロに初期設定し(ST39)、タイマ変数tをインクリメントしつつ応答信号ACKの受信を待つ(ST41)。そして、受信時までに要した時間が基準値Tsより長いか短いかに応じて、サブ基板側での処理内容を判定している(ST42)。
【0035】
具体的には、t<Tsなら同じブロックのデータの再送信に移行し、t≧Tsならブロック変数iをインクリメントして(ST43)、EOF(end of file)を既に認識済みであるか否かが判定される(ST44)。今回送信を完了したブロックデータ中にEOFを認識した場合には全ての処理を終えるが、そうでない場合にはステップST36に戻って、次ブロックの転送処理を繰り返す。
【0036】
続いて、図9及び図10に基づいてサブ制御基板における受信割込み処理について説明する。サブ制御基板では、最初の受信割込みでは、フラッシュROMエリアであるAAAA番地以降の処理が実行されるが、その後、必要なプログラムやデータをRAMエリアに転送してaaaa番地以降の処理を実行している(図9(b)参照)。つまり、最初のストローブ信号STBによる受信割込みでは、AAAA番地の処理が開始される。
【0037】
以下、具体的に説明すると、ユーザパソコンからの確認テストデータの送信(ST30)に対応する受信割込みがあると、AAAA番地以降のプログラムによって、その割込みがノイズに伴うものでないことを確認テストデータの値から把握する(ST50,ST51)。そして、もし予め決定されている確認テストデータを受信できなかった場合にはエラー処理を実行する。一方、正しく確認テストデータを受信できた場合には、AAAA番地以降のデータ受信用ソフト(ST50〜ST52)、フラッシュROM用のソフト(ST53〜ST55,ST60〜ST79)、及び当該遊技機の機器シリアル番号を含む管理データをRAMエリアに転送する(ST52)。
【0038】
その後、処理をRAMエリアのaaaa番地にジャンプさせる。RAMエリアにはステップST52の処理で転送されたプログラムが格納されており、具体的にはステップST53以降の処理プログラムが格納されている。そして、このRAMエリアのプログラムによって、先ずフラッシュROMの内容が全て消去される(ST53)。次に、以降の処理内容を区別する状態フラグFGをゼロに設定すると共に、ポインタ変数Pをnnnnに初期設定する。nnnn番地は受信バッファBUFの先頭番地であり(図9(b)参照)、受信バッファBUFの容量は、送信されてくる1ブロック分のデータ長に対応する大きさに設定されている。次に、以降の受信割込みにおける処理開始アドレスをbbbb番地に変更した上で、応答信号ACKをユーザパソコンに返信する(ST55)。
【0039】
この応答信号ACKを受信したユーザパソコンでは、当該遊技ホールに設置されている遊技機の機器シリアル番号を順番に送信してくる(ST32〜ST34)。そして、機器シリアル番号の送信に伴う受信割込みが生じると、サブ制御基板では、図10に記載したbbbb番地以降の割込み処理プログラムが実行される。
【0040】
受信割込みが生じると、先ず状態フラグFGがチェックされる(ST60)。この段階では、状態フラグFGはゼロであるから、ステップST61の処理に移行し、RAMの管理データエリア(図9(b)参照)に登録されている当該遊技機の機器シリアル番号と一致するか否かが判定される。もし一致すれば判定変数CHECKを1にするが、そうでなくても次に、受信データDiがゼロであるか否かが判定される(ST63)。最初の段階の受信データDiはシリアル番号であり、Di≠0であるからステップST66に移行して受信応答信号ACKを返送して割込み処理を終える。なお、これに対応してユーザパソコンでは、次のシリアル番号を送信することになる。
【0041】
このようにして、サブ制御基板では、ユーザパソコンから送信されるシリアル番号を次々と受信して当該遊技機の機器シリアル番号との照合処理を行う。一方、ユーザパソコンは、全てのシリアル番号の送信後に最終データ00Hを送信する。そこで、サブ基板側では、受信データDiが00Hの場合には状態フラグFGを1に変更した後(ST64)、判定変数CHECKをチェックする(ST65)。
【0042】
受信データDi=0を受信した段階では、当該遊技ホールの設置されている全遊技機のシリアル番号の受信を終わっている。したがって、本来CHECK=1の筈であるが、万一、CHECK≠1となった場合にはエラー処理に移行させている。CHECK≠1の場合とは、例えば、配信を受けた遊技ソフトを、当該遊技ホール以外の遊技機にインストールしようとする場合であるが、そのような行為は、このシリアル番号のチェックで確実に排除される。
【0043】
配信を受けた遊技ソフトを正当にインストールする場合は、状態フラグFG=1の状態で応答信号ACKを返信し(ST66)割込み処理を終えることができる。従って、次の受信割込みでは、ステップST60の判定の後、ステップST67に移行し、ポインタPの指定する格納エリアに受信データを格納し、ポインタPをインクリメントする(ST68)。なお、ポインタPは、バッファ領域BUFのアドレスを指している。
【0044】
インクリメントされたポインタPは、最大値MAX(=受信バッファの最終アドレス+1)を越えたか否か判定され(ST69)、P<MAXなら応答信号ACKを返送して割込み処理を終える。このように、受信割込みが生じる毎に受信バッファエリアBUFに受信データを格納してゆくが、1ブロック分の送信データの最後には、それまでのブロックデータのCRC値が送信されてくる。
【0045】
そこで、サブ制御基板では受信したCRC値に基づいてCRCチェックを行い(ST71)、万一CRCエラーが生じた場合には、CRC受信用の応答信号ACKを返信した後(ST72)、ポインタPを初期値nnnnに戻し、再度、応答信号ACKを返信する(ST74)。なお、ユーザパソコン側では、応答信号ACKの返信が本来のタイミングより早いことによって、送受信エラーを認識できるので(ST42)、同じブロックのデータを再送信してくる。
【0046】
通常の場合には、ステップST71の判定はOKとなるので、続いてフラッシュROMの書込み処理が行われる(ST75)。具体的には、バッファ領域BUFに記憶されているCRC値を除く全データが、フラッシュROMエリアの該当番地に書き込まれることになる。次に、転送データの全ての書込み処理が終わったか否か判定され(ST76)、未だ受信すべきデータが残っている場合にはポインタPを初期設定すると共に、応答信号ACKを返送して割込み処理を終える(ST78)。
【0047】
このようにして、受信データのバッファ領域BUFへの記憶(ST67〜ST70)、1ブロックのデータ記憶後のCRCチェック(ST71)、1ブロック分のデータのフラッシュROMへの書込み(ST75)を繰り返すと、やがて全ての転送データの書込み処理が終わる。そこで、この場合には、ステップST52の処理でRAMエリアに転送されたデータ受信用ソフト(ST50〜ST52)、フラッシュROM用のソフト(ST53〜ST55,ST60〜ST79)、機器シリアルデータを含む管理データの全てを、AAAA番地以降のフラッシュROMに書き込む(ST79)。
【0048】
以上の処理が終われば、受信割込みの処理開始アドレスをbbbb番地からAAAA番地に変更した後、フラッシュROMの該当番地にジャンプする。この処理によって、当該サブ制御基板は電源投入後の初期処理を開始することになる。そして、ユーザパソコンを次のサブ制御基板に接続して、図8の処理を再実行することになる。
【0049】
なお、以上の説明では省略しているが、受信割込みによりCPUは自動的に割込み禁止状態となり、割込み処理プログラムの終了時にソフト的に割込み許可状態に戻している。また、割込み処理開始時にレジスタ類のデータを退避し、割込み終了時には、退避しておいたデータをレジスタ類に復帰させている。
【0050】
その他、具体的に説明した上記の内容は特に本発明を限定するものではなく、本発明の趣旨を逸脱することなく各種の変更が可能である。例えば、実施例では、フラッシュROMを一括して消去したが、一ブロック分のデータ書き込みに際して一ブロック毎にフラッシュROMを消去しても良い。この場合には、ステップST53の処理がステップST75の位置に移行されるので、違法なインストール行為によってフラッシュROMの内容が全て消去され、遊技機が動作不能になるというペナルティが免除される。
【0051】
また、実施例の場合には、シリアル番号との照合処理(ST61)を各サブ制御基板で行っているが、この構成に代えて、ユーザパソコン側で照合処理を行っても良い。この場合には、データ転送処理プログラムWrite.exeが、最初に遊技機との交信でシリアル番号を読み出し、その後の照合処理の結果に基づいてデータ転送処理を開始させるか否かを決定すれば良い。
【0052】
続いて、上記したソフト配信システムの対象となる遊技機について説明する。図11は、ソフト配信システムの対象となるパチンコ機21を示す斜視図であり、図12は、同パチンコ機21の側面図である。なお、パチンコ機21は、カード式球貸し機22に電気的に接続された状態で、パチンコホールの島構造体の長さ方向に複数個が配設されている。
【0053】
図示のパチンコ機21は、島構造体に着脱可能に装着される矩形枠状の木製外枠23と、外枠23に固着されたヒンジHを介して開閉可能に枢着される前枠24とで構成されている。この前枠24には、遊技盤25が裏側から着脱自在に装着され、その前側には、ガラス扉26と前面板27とが夫々開閉自在に枢着されている。
【0054】
前面板27には発射用の遊技球を貯留する上皿28が装着され、前枠24の下部には、上皿28から溢れ出し又は抜き取った遊技球を貯留する下皿29と、発射ハンドル30とが設けられている。発射ハンドル30は発射モータと連動しており、発射ハンドルの回動角度に応じて動作する打撃槌31(図14参照)によって遊技球が発射される。
【0055】
上皿28の右部には、カード式球貸し機22に対する球貸し操作用の操作パネル32が設けられ、この操作パネル32には、カード残額を3桁の数字で表示するカード残額表示部32aと、所定金額分の遊技球の球貸しを指示する球貸しスイッチ32bと、ゲーム終了時にカードの返却を指令する返却スイッチ32cとが設けられている。
【0056】
ガラス扉26の上部には、大当り状態を示す大当りLEDランプP1が配置されている。また、この大当りLEDランプP1に近接して、補給切れ状態や下皿の満杯状態を示す異常報知LEDランプP2,P3が設けられている。
【0057】
図13に示すように、遊技盤25には、金属製の外レールと内レールとからなるガイドレール33が環状に設けられ、その内側の遊技領域25aの略中央には、液晶カラーディスプレイ8が配置されている。また、遊技領域25aの適所には、図柄始動口35、開閉式大入賞口36、複数個の普通入賞口37(最上段以外にも大入賞口36の左右に6つ)、2つの通過口であるゲート38が配設されている。これらの入賞口35〜38は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。
【0058】
液晶ディスプレイ8は、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この液晶ディスプレイ8は、左右方向に並ぶ3個の図柄表示部Da〜Dcを有し、図柄始動口35に遊技球が入賞すると、各図柄表示部Da〜Dcの表示図柄が所定時間だけ変動し、図柄始動口35への遊技球の入賞タイミングに応じた抽選結果に基づいて決定される停止図柄パターンで停止する。
【0059】
この実施例の場合、液晶ディスプレイ8の回りには、大当り状態の予告演出などに活用される多数個のLEDランプP4が連設して配置されている。このLEDランプP4は、液晶ディスプレイをU字状に取り囲むように配置されており、単なる点滅動作だけでなく、U字状の下部基点から開放上部に向けて発光量を増減させて、その後のゲーム進行を遊技者に暗示している。
【0060】
液晶ディスプレイ8の直ぐ上側には、普通図柄表示部39が設けられている。普通図柄表示部39は1個の普通図柄を表示するものであり、ゲート38を通過した遊技球が検出されると、表示される普通図柄が所定時間だけ変動し、遊技球のゲート38の通過時点において抽選された抽選用乱数値により決定される停止図柄を表示して停止するようになっている。
【0061】
普通図柄表示部39に近接して、図柄始動口35や普通入賞口37への入賞球の保留数を示す保留表示LEDランプP5が設けられている。また、遊技領域25aの左右位置にもサイドLEDランプP6が設けられ、遊技部品である風車にも風車LEDランプP7が内蔵されている。
【0062】
図柄始動口35は、左右1対の開閉爪35aを備えた電動式チューリップで開閉され、普通図柄表示部39の変動後の停止図柄が当り図柄を表示した場合には、開閉爪35aが所定時間だけ開放されるようになっている。
【0063】
開閉式大入賞口36は、前方に開放可能な開閉板36aで開閉制御されるが、液晶ディスプレイ8の変動後の停止図柄が「777」などの当り図柄のとき、「大当り」と称する特別遊技が開始され、開閉板36aが開放されるようになっている。開閉式大入賞口36の内部に特定領域36bがあり、この特定領域36bを入賞球が通過すると、遊技者に有利な特別遊技が継続される。
【0064】
開閉式入賞口36の開閉板36aが開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板36aが閉じる。このとき、遊技球が特定領域36bを通過していない場合には特別遊技が終了するが、特定領域36bを通過していれば、最大で例えば16回まで特別遊技が継続され、遊技者に有利な状態に制御される。なお、開閉板36aの左右位置には派手に点滅する電飾ランプが取付けられている。
【0065】
図14に示すように、前枠24の裏側には、遊技盤25を裏側から押さえる裏機構板40が着脱自在に装着されている。この裏機構板40には開口部40aが形成され、その上側に賞球タンク41と、これから延びるタンクレール42とが設けられている。裏機構板40の側部には、タンクレール42に接続された払出装置43が設けられ、裏機構板40の下側には払出装置43に接続された通路ユニット44が設けられている。払出装置43から払出された遊技球は、通路ユニット44を経由して上皿排出口28a(図11)から上皿28に払出されることになる。
【0066】
裏機構板40の開口部40aには、遊技盤25の裏側に装着された裏カバー45と、入賞口35〜37に入賞した遊技球を排出する入賞球排出樋(不図示)とが嵌合されている。この裏カバー45に装着されたケースCA1の内部に主制御基板1が配設され、その前側に図柄制御基板2が配設されている(図12参照)。主制御基板1の下側で、裏カバー45に装着されたケースCA2の内部にランプ制御基板4が設けられ、隣接するケースCA3の内部に音声制御基板3が設けられている。
【0067】
これらケースCA2,CA3の下側で、裏機構板40に装着されたケースCA4の内部には、電源基板6と払出制御基板5が設けられている。この電源基板6には、電源スイッチ53と初期化スイッチ54とが配置されている。これら両スイッチ53,54に対応する部位は切欠かれ、両スイッチを指で同時に操作可能になっている。
【0068】
発射ハンドル30の後側に装着されたケースCA5の内部には、発射制御基板7が設けられている。そして、これらの回路基板1〜7は夫々独立して構成され、電源基板6と発射制御基板7を除く制御基板2〜6には、ワンチップマイコンを備えるコンピュータ回路が搭載されている。また、主制御基板1と他の制御基板2〜6とは、複数本の信号線でコネクタを介して電気的に接続されている。
【0069】
以上、本発明の実施例について具体的に説明したが、具体的な記載内容は特に本発明が限定するものではない。例えば、実施例の説明ではサブ制御基板のみバージョン変更する旨説明したが、主制御基板についてもサブ制御基板と同様の構成を採用してオンラインでバージョン変更するようにしても良い。
また、上記の実施例では主制御基板と複数のサブ制御基板とで遊技機を構成し、主制御基板からの一方向通信によって制御コマンドを伝送しているが、適宜に双方向通信を採用して制御動作を実現しても良い。また、制御基板の接続関係についても、実施例の構成に限定されず、図15に例示するものも含め、適宜に変更しても良い。なお、図15の矢印は制御コマンドの伝送方向を示しているが、双方向通信は図示のものに限らない。
【0070】
【発明の効果】
以上説明したように、本発明によれば、簡単に遊技機のバージョン変更を実現できる遊技ソフト配信システムを実現できる。また、回路基板の取り替えを伴うことなくバージョン変更を可能にした遊技機を実現できる。
【図面の簡単な説明】
【図1】実施例にかかる配信システムを示すブロック図である。
【図2】実施例にかかる配信システムの動作概要を説明する図面である。
【図3】図2のCGIプログラムの動作内容を説明するフローチャートである。
【図4】サーバ側のデータベースの一部を図示したものである。
【図5】ユーザパソコンで実行されるチェック処理の内容を示すフローチャートである。
【図6】本実施例の配信システムに適合した遊技機を説明するブロック図である。
【図7】ユーザパソコンと遊技機の接続関係を説明する図面である。
【図8】フラッシュROMの書換え時に行われるユーザパソコンの送信処理を示すフローチャートである。
【図9】フラッシュROMの書換え時に行われる遊技機のサブ制御基板の処理を示すフローチャートである。
【図10】フラッシュROMの書換え時に行われる遊技機のサブ制御基板の処理を示すフローチャートである。
【図11】実施例に係るパチンコ機の斜視図である。
【図12】図11のパチンコ機の側面図である。
【図13】図11のパチンコ機の正面図である。
【図14】図11のパチンコ機の背面図である。
【図15】本発明の変更例を説明する図面である。
【符号の説明】
NET ネットワーク回線
Trans.cgi 送信手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a game software distribution system utilizing a computer network and a game machine adapted to such a system.
[0002]
[Prior art]
A ball game machine is generally composed of a plurality of circuit boards separated by function, and a plurality of circuit boards cooperate to realize a complex game operation as a whole. Such a gaming machine is generally composed of a main control board in charge of game control and a plurality of sub-control boards that individually operate based on control commands transmitted from the main control board. Is.
[0003]
Sub-control boards include, for example, a symbol control board that controls a liquid crystal display, a payout control board that controls the payout operation of a game ball, a lamp control board that flashes an LED lamp, etc., and a game operation that is voiced There is a voice control board and the like. These sub-control boards interpret the control commands transmitted from the main control board and perform the above-mentioned effects according to the control commands.
[0004]
[Problems to be solved by the invention]
By the way, in the gaming machine, each control board cooperates to perform the game effect as a whole, but the main control board sends the necessary control command at the optimal timing and should be executed by each sub-control board. The specific production operation is exclusively left to the control program of the sub-control board. Therefore, even if the game machine is the same even if the control program of the sub control board and the data (sound data, image data, etc.) referenced by the control program are changed without changing the control program of the main control board at all. Different performance operations are possible.
[0005]
In order to change the version of such a gaming machine, it may be possible to dispatch a service person to each gaming hall to replace the sub-control board, but only to change the program and its reference data, the sub-control Replacing the substrate itself is a waste of resources. In addition, if the version of the gaming machine can be changed by the work of the game hall staff instead of dispatching service personnel one by one, the cost can be reduced for the gaming hall. It is more preferable that the version of the main control board can be easily changed in addition to the sub control board.
[0006]
The present invention has been made based on such an idea, and an object thereof is to provide a game software distribution system that can easily change the version of a gaming machine. It is another object of the present invention to provide a gaming machine that enables version change without replacement of a circuit board.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problems, a gaming machine according to the present invention includes a main control unit that is responsible for overall game control and a sub-control unit that operates based on a control command transmitted from the main control unit. The sub-control unit and / or the main control unit are equipped with an electrically rewritable nonvolatile memory and a CPU that realizes game control based on a game program stored in the nonvolatile memory. , by using a delivery system composed of a server device and a game hall computer and network line, a game program that the computer receives from the server device, the CPU to realize a game control is obtained from the computer Te, wherein a non-volatile memory gaming machine as written to, and in the computer, checks the integrity of the encrypted data received from the server device For each of the gaming halls that receive the encrypted data, the process for determining whether or not the consistency check has been successful, the process for notifying the server device that there is no abnormality, A process of decrypting the encrypted data based on a unique decryption key to obtain a group of codes uniquely identifying each gaming machine installed in the gaming hall and the gaming program in this order. are performed, in the nonvolatile memory includes a receiving software for receiving the game program and the set of codes from the computer, and rewriting software for erasing and writing of the nonvolatile memory, uniquely the gaming machine are stored and a code for specifying, when version change of the game program, Sakiritsu for writing the game program in the nonvolatile memory Te transfer, and the set of codes which the received software has received, collating the said code stored in said nonvolatile memory, only if a matching code is present, the contents stored in the nonvolatile memory to the RAM after erase and write process of the nonvolatile memory is executed.
[0008]
The distribution system according to the present invention includes a server device, a personal computer, and a network line, and the personal computer can transmit a game program and a group of codes received from the server device to the gaming machine. Has been. Moreover, this invention is a server apparatus used with this delivery system.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below based on examples. FIG. 1 is a configuration diagram of a game software distribution system according to an embodiment. A user such as a game hall distributes a game machine control program and related data (hereinafter referred to as game software as a whole) through an Internet line NET. Can be received.
[0010]
As shown in the figure, this distribution system includes a server device SV that opens a homepage and accepts a distribution request for game software of a gaming machine, a user personal computer PC that can operate a browser, and an Internet line NET that connects the two devices. It is configured. The server device SV is equipped with a server program that reads and transmits a software distribution page from the WEB database DB in response to a request from the browser, and a CGI program that realizes user authentication, software distribution, and user management. Has been. Note that the user personal computer is a notebook personal computer, and the distributed programs Check.exe and Write.exe are also executed.
[0011]
FIG. 2 outlines a series of processing executed between the server device SV and the user personal computer PC. When the browser of the user personal computer PC requests an HTML file for distribution request, in response to the request, the server device SV returns a top page provided with a text box for requesting a user ID and password (step a). . Next, when the user ID and password are transmitted from the user, after authenticating the validity of the combination, the server device SV returns a distribution screen (HTML file) in which the user ID of the user is written ( Step b).
[0012]
This distribution screen is configured to be able to request the distribution of game software by specifying the model of the gaming machine. When the distribution software is specified on this distribution screen and a predetermined operation is performed, the request is passed to the transmission program (Trans.cgi) together with the user ID written in the HTML file (step c). In the transmission program (Trans.cgi), after the encryption processing for each user is performed for the requested game software, the execution file (Check.exe) to be executed on the user side is connected and transmitted to the user (step c). ).
[0013]
When the executable file (Check.exe) is executed on the user side that has received the transmission, after the CRC check of the received file is performed, if reception is successful, reception completion data is transmitted to the server side (step) d). Then, in the CGI program (History.cgi) that has received the reception completion data, after registering the information to that effect in the database, the decryption key for decrypting the previously transmitted game software is transmitted and the processing ends ( Step d).
[0014]
FIG. 3 is a flowchart showing the specific contents of the process of the CGI program (Trans.cgi) that realizes the process of step c described above. If there is a game software distribution request from the user, the transmission history table TBL1 (FIG. 4 (a)) of the game hall is checked to confirm whether it has already been transmitted (ST1). If it has already been transmitted, a screen indicating that is transmitted and the process is terminated (ST3). In this case, since it is not usually considered that there are duplicate transmission requests from the same user, the duplicate request is assumed to be an illegal transmission request and distribution is rejected.
[0015]
In addition, due to leakage of the user ID and password, an illegal person may have completed distribution first, and a legitimate user may subsequently request distribution. However, such a case can be dealt with by individual negotiation by telephone or e-mail, and has the advantage that the leaked user ID and password can be changed quickly.
[0016]
Since the determination in step ST2 is normally NO, Trans.cgi next reads the requested game software from the WEB database (ST4), and adds the device serial number read from the device management table TBL2 to this. Into one file (ST5). As illustrated in FIG. 4B, the device management table TBL2 includes the device serial numbers of all the gaming machines that can be rewritten by the present system among the gaming machines installed in the gaming hall. Is registered. The device serial number is a code (number and / or symbol) that can uniquely identify the gaming machine.
[0017]
After the process of step ST5 is completed, the file in which the game software and the device serial number are concatenated is encrypted with the user-specific encryption key (ST6). Then, a program (Check.exe) to be executed on the user side is concatenated with this encrypted data (ST7), and the concatenated data is packetized and transmitted to the client side as an execution file (ST8). FIG. 3B schematically shows data to be transmitted.
[0018]
The browser that received the execution file saves the execution file in an appropriate location according to the user's operation. When the user executes the executable file, the check process shown in FIG. 5A is started. In the check process, first, a CRC check is performed on all the transmitted data as a consistency check of received data (ST20). The CRC value is stored in the received file.
[0019]
Here, the case where the CRC check is not OK is a case where the game software cannot be normally received due to a poor communication environment or the like. Therefore, in such a case, all files are deleted and the process is terminated (ST22). However, since the CRC check is OK in normal cases, in this case, reception completion data is transmitted to the server side (ST23).
[0020]
This reception completion data is transferred to History.cgi shown in FIG. In History.cgi, the contents of the table are updated by filling in the transmission history table TBL1 with the software ID specifying the distributed game software, the distribution date, and the like (ST10). Thereafter, the process proceeds to a charging process (not shown), but thereafter, the distribution request for the same game software from the same user is rejected. Next, History.cgi sends the decryption key corresponding to the encryption unique to each user to the user and finishes the process (ST11). In this embodiment, since the decryption key is transmitted every time the game software is distributed, there is an advantage that the encryption key can be changed every time. Instead of this configuration, a configuration may be adopted in which an encryption key and a decryption key for each user are determined and notified to the user in advance. However, such a configuration is not within the scope of the present invention.
[0021]
Next, returning to the processing on the user personal computer side, when the user inputs a decryption key in response to the request of Check.exe (ST24), the encrypted distribution data is decrypted, and the serial number string and The game software is restored (ST25). Therefore, after the data transfer processing program (Write.exe) to be executed later, the decrypted serial number string and the game software are saved in the file, Check.exe is deleted and the process is terminated (ST26). As described above, the execution program Check.exe distributed to the user is executed only once, so that the reception completion data is not transmitted redundantly. FIG. 5C schematically shows a data transfer processing program (Write.exe), a serial number string, and game software stored in the user personal computer.
[0022]
This data transfer processing program (Write.exe) is a program for changing the version of the game software of the gaming machine. Prior to the description thereof, the configuration of the gaming machine that is the version change target will be described. FIG. 6 is a block diagram illustrating the overall configuration of a pachinko machine whose version is changed in the system of the embodiment.
[0023]
The illustrated pachinko machine includes a
[0024]
The
[0025]
Thus, in the gaming machine according to the present embodiment, the ROMs of the
[0026]
A user personal computer (notebook personal computer shown in FIG. 1) is used to update data in the on-board state, and this personal computer is provided with an input / output port for flash ROM rewriting. As shown in FIG. 7, the 8-bit data Di and the strobe signal STB are output from the output port of the user personal computer PCi, and the response signal ACK returned from the sub-control board is input to the input port. It has become.
[0027]
Next, the flash ROM rewriting process (version change) will be described with reference to the flowcharts of FIGS. FIG. 8 shows the processing contents of the transfer processing program (Write.exe) executed on the user personal computer PC, and FIGS. 9 and 10 show the contents of the interrupt processing program executed on the sub-board of the gaming machine.
[0028]
As shown in FIG. 8, when the transfer processing program (Write.exe) is executed, a transfer destination sub-control board is first specified, and transfer data is specified accordingly. Then, confirmation test data is output to the identified sub control board (ST30). In the following description, “data is output” means that data is output to the output port of the user personal computer and then the strobe signal STB is output. The strobe signal STB is supplied to the interrupt terminal of the CPU of the sub control board, and output data from the user personal computer is acquired in the reception interrupt processing program. The sub control board that has acquired data from the user personal computer returns a reception response signal ACK at an appropriate timing.
[0029]
Therefore, the transfer processing program (Write.exe) waits for reception of the response signal ACK after outputting the confirmation test data, and moves to the next processing when receiving the response signal ACK (ST31). Note that the confirmation test data is first transmitted from the user personal computer because a reception interrupt may occur in the sub control board due to noise or the like.
[0030]
After confirming the response signal ACK, the transfer processing program outputs serial numbers in order (ST32 to ST34). That is, if the first serial number is output, a response signal ACK from the gaming machine is awaited, and after receiving the response signal ACK, the next serial number is output. Here, the serial number is a device serial number of the gaming machine installed in the gaming hall, and is data attached to the gaming software transmitted from the server. There are a plurality (n) of serial numbers corresponding to the number of gaming machines installed in the gaming hall, and 00H is described after the final serial number. FIG. 8B illustrates the state of the transmission buffer of the user personal computer, in which n serial numbers,
[0031]
If the processes of steps ST32 and ST33 are repeated, the user personal computer will eventually output the final data (00H), and after outputting this final data, the block variable i indicating the block number is initialized (ST35). ) Shift to game software transfer processing.
[0032]
In this embodiment, the game software to be transferred is divided into a plurality of blocks each having a predetermined byte length, and the CRC value for the block is transmitted at the end of each block. Each time one byte of data of each block is transmitted, the control waits for reception of a response signal ACK from the sub control board (ST36, ST37), and receives a response signal ACK for the CRC value transmitted at the end of the data for one block. To finish processing for one block.
[0033]
As will be described later, the sub-control board that has received the data for one block determines whether or not the data has been correctly received by the CRC check. If the data has been correctly received, the flash ROM rewrite process is performed. A response signal ACK is returned. On the other hand, if an abnormality occurs due to the CRC check, a response signal ACK is immediately returned to wait for retransmission of data in the same block.
[0034]
Since the sub-control board performs such processing, on the user PC side, depending on the time required to receive the response signal ACK, whether to retransmit the same block data or the next block data Is judged. Specifically, first, the timer variable t is initialized to zero (ST39), and the reception of the response signal ACK is waited while the timer variable t is incremented (ST41). Then, the processing content on the sub-board side is determined according to whether the time required until reception is longer or shorter than the reference value Ts (ST42).
[0035]
Specifically, if t <Ts, the process proceeds to retransmission of data in the same block. If t ≧ Ts, the block variable i is incremented (ST43), and whether EOF (end of file) has already been recognized. Is determined (ST44). If the EOF is recognized in the block data that has been transmitted this time, all the processes are finished. If not, the process returns to step ST36 to repeat the next block transfer process.
[0036]
Next, the reception interrupt process in the sub control board will be described with reference to FIGS. 9 and 10. In the sub-control board, the process after the AAAA address, which is the flash ROM area, is executed at the first reception interrupt, but after that, necessary programs and data are transferred to the RAM area and the process after the aaaa address is executed. (See FIG. 9B). That is, in the reception interrupt by the first strobe signal STB, the processing at the AAAA address is started.
[0037]
More specifically, if there is a reception interrupt corresponding to the transmission of the confirmation test data from the user personal computer (ST30), the program after address AAAA confirms that the interruption is not accompanied by noise. It grasps | ascertains from a value (ST50, ST51). If the confirmation test data determined in advance cannot be received, error processing is executed. On the other hand, if the confirmation test data is correctly received, the data receiving software after the AAAA address (ST50 to ST52), the software for the flash ROM (ST53 to ST55, ST60 to ST79), and the device serial of the gaming machine The management data including the number is transferred to the RAM area (ST52).
[0038]
Thereafter, the processing is jumped to the aaa address in the RAM area. The RAM area stores a program transferred in the process of step ST52, and specifically stores a process program after step ST53. Then, all the contents of the flash ROM are first erased by the program in the RAM area (ST53). Next, the status flag FG for distinguishing the processing contents thereafter is set to zero, and the pointer variable P is initialized to nnnn. The address nnnn is the head address of the reception buffer BUF (see FIG. 9B), and the capacity of the reception buffer BUF is set to a size corresponding to the data length of one block to be transmitted. Next, after changing the processing start address in the subsequent reception interrupt to the address bbbb, a response signal ACK is returned to the user personal computer (ST55).
[0039]
The user personal computer that has received the response signal ACK sequentially transmits the device serial numbers of the gaming machines installed in the gaming hall (ST32 to ST34). Then, when a reception interrupt accompanying transmission of the device serial number occurs, the sub-control board executes the interrupt processing program after the address bbbb shown in FIG.
[0040]
When a reception interrupt occurs, the status flag FG is first checked (ST60). At this stage, since the status flag FG is zero, the process proceeds to step ST61, and does it match the device serial number of the gaming machine registered in the management data area of the RAM (see FIG. 9B)? It is determined whether or not. If they match, the determination variable CHECK is set to 1. If not, it is next determined whether or not the received data Di is zero (ST63). The reception data Di at the first stage is a serial number, and since Di ≠ 0, the process proceeds to step ST66, where the reception response signal ACK is returned, and the interrupt process is completed. In response to this, the user personal computer transmits the next serial number.
[0041]
In this way, the sub-control board receives serial numbers transmitted from the user personal computer one after another and performs a collation process with the device serial number of the gaming machine. On the other hand, the user personal computer transmits the
[0042]
At the stage of receiving the reception data Di = 0, the reception of the serial numbers of all the gaming machines in which the game hall is installed is completed. Therefore, although CHECK = 1 is originally supposed, if CHECK ≠ 1, it is shifted to error processing. The case of CHECK ≠ 1 is, for example, a case where the distributed game software is to be installed in a gaming machine other than the gaming hall, but such an action is surely excluded by checking this serial number. Is done.
[0043]
When the delivered game software is properly installed, the response signal ACK is returned in the state of the state flag FG = 1 (ST66), and the interrupt process can be completed. Accordingly, in the next reception interrupt, after the determination in step ST60, the process proceeds to step ST67, where the reception data is stored in the storage area designated by the pointer P, and the pointer P is incremented (ST68). The pointer P points to the address of the buffer area BUF.
[0044]
It is determined whether or not the incremented pointer P exceeds the maximum value MAX (= the final address of the reception buffer + 1) (ST69). If P <MAX, the response signal ACK is returned and the interrupt process is completed. In this way, every time a reception interrupt occurs, reception data is stored in the reception buffer area BUF. At the end of one block of transmission data, the CRC value of the previous block data is transmitted.
[0045]
Therefore, the sub-control board performs a CRC check based on the received CRC value (ST71). If a CRC error occurs, a response signal ACK for CRC reception is returned (ST72), and then the pointer P is set. It returns to the initial value nnnn and returns a response signal ACK again (ST74). On the user personal computer side, since the response signal ACK is returned earlier than the original timing, a transmission / reception error can be recognized (ST42), so the data of the same block is retransmitted.
[0046]
In a normal case, the determination in step ST71 is OK, so the flash ROM writing process is subsequently performed (ST75). Specifically, all data except the CRC value stored in the buffer area BUF is written to the corresponding address in the flash ROM area. Next, it is determined whether or not all the write processing of the transfer data has been completed (ST76). If there is still data to be received, the pointer P is initialized and a response signal ACK is returned to perform interrupt processing. Is finished (ST78).
[0047]
In this way, when storing the received data in the buffer area BUF (ST67 to ST70), CRC check after storing one block of data (ST71), writing one block of data to the flash ROM (ST75) is repeated. Eventually, the writing process of all the transfer data is completed. Therefore, in this case, management data including data reception software (ST50 to ST52), flash ROM software (ST53 to ST55, ST60 to ST79), and device serial data transferred to the RAM area in the process of step ST52 Are written in the flash ROM starting with the AAAA address (ST79).
[0048]
When the above processing is completed, the processing start address of the reception interrupt is changed from the bbbb address to the AAAA address, and then the process jumps to the corresponding address in the flash ROM. With this process, the sub-control board starts an initial process after the power is turned on. Then, the user personal computer is connected to the next sub-control board, and the process of FIG. 8 is executed again.
[0049]
Although omitted in the above description, the CPU automatically enters an interrupt disabled state due to a reception interrupt, and returns to the interrupt enabled state in software when the interrupt processing program ends. Further, the data in the registers is saved at the start of the interrupt process, and the saved data is restored to the registers at the end of the interrupt.
[0050]
In addition, the above-described contents specifically described do not particularly limit the present invention, and various modifications can be made without departing from the spirit of the present invention. For example, in the embodiment, the flash ROM is erased in a lump, but the flash ROM may be erased for each block when writing data for one block. In this case, since the process of step ST53 is shifted to the position of step ST75, the contents of the flash ROM are all erased by an illegal installation action, and the penalty that the gaming machine becomes inoperable is exempted.
[0051]
In the embodiment, the verification process (ST61) with the serial number is performed on each sub-control board. However, instead of this configuration, the verification process may be performed on the user personal computer side. In this case, the data transfer processing program Write.exe first reads the serial number by communication with the gaming machine, and determines whether to start the data transfer processing based on the result of the subsequent verification processing. .
[0052]
Next, a gaming machine that is a target of the above-described software distribution system will be described. FIG. 11 is a perspective view showing a
[0053]
The illustrated
[0054]
The
[0055]
On the right side of the
[0056]
On the upper part of the
[0057]
As shown in FIG. 13, the
[0058]
The liquid crystal display 8 is a device that variably displays a specific symbol related to the big hit state, and displays a background image, various characters, and the like in an animated manner. The liquid crystal display 8 has three symbol display portions Da to Dc arranged in the left-right direction. When a game ball wins a symbol start opening 35, the display symbols of the symbol display portions Da to Dc change for a predetermined time. Then, it stops at a stop symbol pattern determined based on the lottery result corresponding to the winning timing of the game ball to the symbol start opening 35.
[0059]
In the case of this embodiment, around the liquid crystal display 8, a large number of LED lamps P4 that are utilized for a big hit state notice effect or the like are arranged in series. This LED lamp P4 is arranged so as to surround the liquid crystal display in a U-shape, and is not only a flashing operation, but also increases or decreases the amount of light emitted from the U-shaped lower base point toward the open upper portion, and the subsequent game Implies progress to the player.
[0060]
A normal
[0061]
In the vicinity of the normal
[0062]
The symbol start opening 35 is opened and closed by an electric tulip having a pair of left and right opening and closing
[0063]
The open / close-type big winning
[0064]
After the opening /
[0065]
As shown in FIG. 14, a
[0066]
The
[0067]
Below these cases CA2 and CA3, a
[0068]
Inside the case CA5 attached to the rear side of the
[0069]
As mentioned above, although the Example of this invention was described concretely, the concrete description content is not specifically limited by this invention. For example, in the description of the embodiment, it has been described that only the sub control board is changed in version, but the main control board may be changed online by adopting the same configuration as that of the sub control board.
In the above embodiment, the main control board and a plurality of sub-control boards constitute a gaming machine, and control commands are transmitted by one-way communication from the main control board. However, bidirectional communication is appropriately adopted. Thus, the control operation may be realized. Further, the connection relation of the control board is not limited to the configuration of the embodiment, and may be appropriately changed including the one illustrated in FIG. The arrows in FIG. 15 indicate the transmission direction of the control command, but bidirectional communication is not limited to the illustrated one.
[0070]
【The invention's effect】
As described above, according to the present invention, it is possible to realize a game software distribution system that can easily change the version of a gaming machine. In addition, it is possible to realize a gaming machine that allows version change without replacement of the circuit board.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a distribution system according to an embodiment.
FIG. 2 is a diagram for explaining an outline of the operation of the distribution system according to the embodiment.
FIG. 3 is a flowchart for explaining the operation content of the CGI program of FIG. 2;
FIG. 4 illustrates a part of a database on the server side.
FIG. 5 is a flowchart showing the contents of a check process executed by a user personal computer.
FIG. 6 is a block diagram illustrating a gaming machine adapted to the distribution system of the present embodiment.
FIG. 7 is a diagram illustrating a connection relationship between a user personal computer and a gaming machine.
FIG. 8 is a flowchart showing transmission processing of a user personal computer that is performed when the flash ROM is rewritten.
FIG. 9 is a flowchart showing processing of the sub-control board of the gaming machine performed when the flash ROM is rewritten.
FIG. 10 is a flowchart showing processing of the sub-control board of the gaming machine performed when the flash ROM is rewritten.
FIG. 11 is a perspective view of a pachinko machine according to an embodiment.
12 is a side view of the pachinko machine shown in FIG.
13 is a front view of the pachinko machine shown in FIG.
14 is a rear view of the pachinko machine shown in FIG. 11. FIG.
FIG. 15 is a diagram illustrating a modified example of the present invention.
[Explanation of symbols]
NET network line Trans. cgi transmission means
Claims (5)
サーバ機器と遊技ホールのパソコンとネットワーク回線とで構成された配信システムを利用して、前記パソコンが前記サーバ機器から受けた遊技プログラムを、遊技制御を実現する前記CPUが、前記パソコンから取得して、前記不揮発性メモリに書込むようにした遊技機であって、
前記パソコンでは、前記サーバ機器から受信した暗号化データの整合性をチェックして、暗号化データが正常に受信されているか否かを判定する処理、前記整合性のチェックで異常がなかったことを前記サーバ機器に通知する処理、及び、その後に受信する、遊技ホール毎に固有の復号化キーに基づいて前記暗号化データを復号化して、当該遊技ホールに設置されている各遊技機を一意に特定する一群のコードと、前記遊技プログラムとを得る処理が、この順番で実行されており、
前記不揮発性メモリには、前記パソコンから前記遊技プログラム及び前記一群のコードを受信する受信ソフトと、前記不揮発性メモリの消去及び書込みをする書換えソフトと、当該遊技機を一意に特定するコードとが記憶されており、
前記遊技プログラムのバージョン変更時には、前記遊技プログラムを前記不揮発性メモリに書き込むのに先立って、前記受信ソフトが受信した前記一群のコードと、前記不揮発性メモリに記憶されている前記コードとを照合し、一致するコードが存在する場合だけ、前記不揮発性メモリの記憶内容をRAMに転送した後、前記不揮発性メモリの消去及び書込み処理が実行されることを特徴とする遊技機。A main control unit that is in charge of game control and a sub control unit that operates based on a control command transmitted from the main control unit are provided, and the sub control unit and / or the main control unit include: An electrically rewritable nonvolatile memory and a CPU that realizes game control based on a game program stored in the nonvolatile memory are mounted,
Using a distribution system composed of a server device, a game hall personal computer, and a network line , the personal computer receives a game program received from the server device by the personal computer , and the CPU for realizing game control acquires the game program from the personal computer. , A gaming machine configured to write to the non-volatile memory,
The personal computer checks the consistency of the encrypted data received from the server device and determines whether the encrypted data is normally received. Each of the gaming machines installed in the gaming hall is uniquely decrypted based on the processing for notifying the server device and the decryption key unique to each gaming hall received thereafter. A process of obtaining a group of codes to be identified and the game program is executed in this order,
In the nonvolatile memory includes a receiving software for receiving the game program and the set of codes from the computer, and rewriting software for erasing and writing of the nonvolatile memory, and a code uniquely identifying the game machine Remembered,
When the version of the game program is changed, the group of codes received by the reception software and the code stored in the nonvolatile memory are collated prior to writing the game program to the nonvolatile memory. only if a matching code is present, the after the storage contents of the nonvolatile memory is transferred to RAM, game machine, characterized in that the erasing and writing processing of the nonvolatile memory is executed.
前記パソコンは、請求項1〜3の何れかの遊技機に対して、前記サーバ機器から受けた遊技プログラム及び一群のコードを送信可能に構成されている配信システム。It consists of server equipment, gaming hall computers and network lines,
The personal computer, according to claim 1 to any of the gaming machine 3, delivery system is configured to be transmitted a game program and a group of code received from the server device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001369978A JP4021655B2 (en) | 2001-12-04 | 2001-12-04 | Game software distribution system and game machine |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001369978A JP4021655B2 (en) | 2001-12-04 | 2001-12-04 | Game software distribution system and game machine |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007173905A Division JP4562755B2 (en) | 2007-07-02 | 2007-07-02 | Game software distribution system and game machine |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003164642A JP2003164642A (en) | 2003-06-10 |
| JP4021655B2 true JP4021655B2 (en) | 2007-12-12 |
Family
ID=19179281
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001369978A Expired - Fee Related JP4021655B2 (en) | 2001-12-04 | 2001-12-04 | Game software distribution system and game machine |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4021655B2 (en) |
-
2001
- 2001-12-04 JP JP2001369978A patent/JP4021655B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003164642A (en) | 2003-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2002326552B2 (en) | Process verification | |
| JP2014083222A (en) | Game machine | |
| JP2010148616A (en) | Game machine | |
| JP2012245041A (en) | Game machine | |
| JP2012245039A (en) | Game machine | |
| JP3859129B2 (en) | Game machine | |
| JP3936176B2 (en) | Game machine | |
| JP5109015B2 (en) | Game machine | |
| JP4440908B2 (en) | Game machine | |
| JP4021655B2 (en) | Game software distribution system and game machine | |
| JP4562755B2 (en) | Game software distribution system and game machine | |
| JP4446413B2 (en) | Game system | |
| JP2001321541A (en) | Gaming machine | |
| JPH10192533A (en) | Arithmetic processing unit for gaming machines | |
| JP4947827B2 (en) | Game machine | |
| JP2010029410A (en) | Game machine, game control program, and game control method | |
| JP4610857B2 (en) | Game machine | |
| JP2003144729A (en) | Game machine | |
| JP5194091B2 (en) | Game machine | |
| JP2003019273A (en) | Gaming machine | |
| US20100062863A1 (en) | Apparatus and Method for Gaming System and Game Controller Maintenance | |
| JP2003180962A (en) | Gaming machine | |
| JP4814368B2 (en) | Game machine | |
| JP2003251035A (en) | Game machine | |
| JP5807248B2 (en) | Game machine |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070130 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070402 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070501 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070702 |
|
| A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070706 |
|
| 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: 20070828 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070927 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101005 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4021655 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111005 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111005 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121005 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131005 Year of fee payment: 6 |
|
| 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 |
|
| 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 |
|
| LAPS | Cancellation because of no payment of annual fees |