Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3827419B2 - Software rewriting system - Google Patents
[go: Go Back, main page]

JP3827419B2 - Software rewriting system - Google Patents

Software rewriting system Download PDF

Info

Publication number
JP3827419B2
JP3827419B2 JP25108597A JP25108597A JP3827419B2 JP 3827419 B2 JP3827419 B2 JP 3827419B2 JP 25108597 A JP25108597 A JP 25108597A JP 25108597 A JP25108597 A JP 25108597A JP 3827419 B2 JP3827419 B2 JP 3827419B2
Authority
JP
Japan
Prior art keywords
software
storage medium
game
program
selection
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
Application number
JP25108597A
Other languages
Japanese (ja)
Other versions
JPH1196051A (en
Inventor
豊 飯島
琢磨 松灘
貴夫 大原
元文 吉野
照幸 吉岡
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP25108597A priority Critical patent/JP3827419B2/en
Publication of JPH1196051A publication Critical patent/JPH1196051A/en
Application granted granted Critical
Publication of JP3827419B2 publication Critical patent/JP3827419B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ソフトウェア書換システムに関し、より特定的には、ユーザが持参した記憶媒体にプログラム(例えば、ゲーム用プログラム)を書き込むことにより、当該プログラムをユーザに販売するためのソフトウェア書換システムに関する。
【0002】
【従来の技術】
コンピュータ装置の急速な普及に伴い、ゲーム、教育、ビジネス等の広い分野において、頻繁にソフトウェアが取り引きされている。現在、取引の主流は、ソフトウェアのプログラムが格納された記録媒体(フロッピーディスク、ROMカートリッジ、CD−ROM等)を、パッケージソフトとしてユーザに提供する方法である。
【0003】
しかしながら、ユーザにとっては、プログラム自体が重要なのであって、プログラムを格納する記録媒体は重要ではない。もし、プログラムのみをユーザに提供できれば、記録媒体にかかるコストを削減でき、より安価にソフトウェアの提供が可能となる。一方、販売店側にしても、プログラムを格納した記録媒体をソフトウェアの種類毎に在庫しておく必要がないので、省スペース化が図れると共に、資金の滞留が防げるので、より健全な経営が可能となる。
【0004】
そこで、プログラムのみを販売できるような販売装置の実現が強く望まれている。本発明は、ユーザが持参した記録媒体にプログラムを書き込むことにより、プログラムのみをユーザに販売するシステムに向けられているが、そのためには記録媒体に格納されたプログラムを書き換える必要がある。
【0005】
従来、記録媒体にプログラムを書き込む技術としては、特開昭60−684号公報(以下、第1の従来技術と称す)や特開昭59−229673号公報(以下、第2の従来技術と称す)に記載されたものが知られている。
【0006】
【発明が解決しようとする課題】
しかしながら、上記第1および第2の従来技術は、いずれも記録媒体に1種類のプログラムを書き込むことのみを意図しており、1つの記録媒体に複数種類のプログラムを整理して書き込む際の問題点および手法については、何らの教示も示唆もしていない。もし、常に1つの記録媒体に1種類のプログラムのみが書き込まれるような場合、ユーザは、プログラム毎に記録媒体のコストを負担しなければならず、期待されるようなコストメリットを享受できない。また、上記第1および第2の従来技術を拡張して、1つの記録媒体に複数種類のプログラムを書き込もうすると、どのプログラムを書き換えるかが分からず、残しておきたいプログラムが上書きされてしまうおそれがある。また、記録媒体の残容量がどれぐらいあるかも分からないため、ユーザ側は購入可能なプログラムの種類の選択に際して、書き込もうとするプログラムの容量と、書込済みのプログラムの種類別の容量を知り、人為的に判断しながら適切な容量の範囲の種類を選択しなければならない。このように、従来技術による書き込み装置をソフトウェア販売装置として使用した場合、そのような販売装置は、使い勝手が悪く、また残しておきたいプログラムを破壊するおそれもある。
【0007】
それゆえに、本発明の目的は、ソフトウェアのみを効率的に販売でき、しかも使い勝手の良いソフトウェア書換システムを提供することである。
【0008】
【課題を解決するための手段および発明の効果】
第1の発明は、顧客が持参した記憶媒体に格納されているソフトウェアのプログラムを書き換えるシステムであって、
顧客に販売する複数種類のソフトウェアのプログラムを記憶したソフトウェア記憶手段と、
ソフトウェア記憶手段に記憶されている複数種類のソフトウェアの中から、顧客が購入するソフトウェアを複数選択可能な購入ソフトウェア選択手段と、
記憶媒体の空き容量が購入ソフトウェア選択手段によって選択されたソフトウェアの合計データ量よりも大きいか否かを判断する第1判断手段と
第1判断手段により大きいと判断された場合にのみ、当該選択されたすべてのソフトウェアのプログラムを記憶媒体に順次に書き込む処理を開始する書込制御手段と
第1判断手段により大きいと判断されなかった場合に、購入ソフトウェア選択手段によって選択されたソフトウェアの中から購入の選択を取り消すべきソフトウェアを選択させる購入取消ソフトウェア選択手段と、
購入取消ソフトウェア選択手段により購入の選択を取り消すべきことが選択されたソフトウェアの選択を取り消す選択取消手段とを備えている。
【0009】
上記のように、第1の発明によれば、顧客が持参した記憶媒体に格納されたソフトウェアのプログラムを書き換えることで、ソフトウェアのみを販売することができる。また、記憶媒体にすでにソフトウェアのプログラムが書き込まれている場合であっても、その空き容量が選択されたソフトウェアの合計データ量よりも大きい場合にのみ、選択されたソフトウェアのプログラムを書き込むようにしているので、すでに書き込まれているプログラムが上書きされて破壊されるような事態を防ぐことができる。
【0010】
第2の発明は、第1の発明において、
第1判断手段により大きいと判断されなかった場合に、前記記憶媒体に書き込まれているソフトウェアの中から消去すべきソフトウェアを顧客に選択させる消去ソフトウェア選択手段と、
消去ソフトウェア選択手段により消去すべきことが選択されたソフトウェアのプログラムを記憶媒体から消去する消去手段とをさらに備える。
【0011】
第3の発明は、第2の発明において、
購入取消ソフトウェア選択手段によってソフトウェアが選択される毎に、購入ソフトウェア選択手段によって選択されたソフトウェアからそのときまでに購入の選択を取り消すべきことが選択されたソフトウェアを除いたソフトウェアの合計データ量を計算して表示し、同時に、消去ソフトウェア選択手段によってソフトウェアが選択される毎に、そのときまでに消去すべきことが選択されたソフトウェアを記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量を計算して表示する合計データ量・空き容量表示制御手段をさらに備える。
【0012】
上記のように、第2乃至3の発明によれば、記憶媒体に書き込み済みのソフトウェアを選択的に消去できるようにしたので、購入のために選択したソフトウェアの合計データ量が記憶媒体の空き容量を越えていても、不必要な書き込み済みのソフトウェアを消去することで、購入が可能となる。
【0013】
第4の発明は、第2の発明において、
消去ソフトウェア選択手段によって選択されたソフトウェアを記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量が購入ソフトウェア選択手段によって選択されたソフトウェアから購入取消ソフトウェア選択手段によって選択されたソフトウェアを除いたソフトウェアの合計データ量よりも大きいか否かを判断する第2判断手段をさらに備え、
消去手段は、第2判断手段により大きいと判断された場合にのみ、消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを記憶媒体から消去する。
【0014】
の発明は、第の発明において、
消去ソフトウェア選択手段によって選択されたソフトウェアを記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量が購入ソフトウェア選択手段によって選択されたソフトウェアから購入取消ソフトウェア選択手段によって選択されたソフトウェアを除いたソフトウェアの合計データ量よりも大きいか否かを判断する第2判断手段をさらに備え、
書込制御手段は、第2判断手段により大きいと判断された場合にのみ、購入ソフトウェア選択手段によって選択されたソフトウェアのプログラムを記憶媒体に書き込み、
消去手段は、第2判断手段により大きいと判断された場合にのみ、消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを記憶媒体から消去する。
【0015】
上記のように、第4乃至5の発明によれば、所定の条件(すなわち、消去のために選択されたソフトウェアを記憶媒体から消去したと仮定した場合における記憶媒体の空き容量が、購入のために選択されたソフトウェアの合計データ量よりも大きいという条件)が成立した場合にのみ、記憶媒体から消去のために選択されたソフトウェアのプログラムを消去するようにしたので、所定の条件が成立しないのに誤ってソフトウェアを消去してしまう事態を防ぐことができる
【0016】
の発明は、顧客が持参した記憶媒体に格納されているソフトウェアのプログラムを書き換えるシステムであって、
顧客に販売する複数種類のソフトウェアのプログラムを記憶したソフトウェア記憶手段と、
ソフトウェア記憶手段に記憶されている複数種類のソフトウェアの中から、顧客が購入するソフトウェアを選択可能な購入ソフトウェア選択手段と、
記憶媒体の空き容量が購入ソフトウェア選択手段によって選択されたソフトウェアの合計データ量よりも大きいか否かを判断する第1判断手段と、
第1判断手段により大きいと判断された場合にのみ、当該選択されたソフトウェアのプログラムを記憶媒体に順次に書き込む書込制御手段と、
第1判断手段により大きいと判断されなかった場合に、記憶媒体に書き込まれているソフトウェアの中から、消去すべきソフトウェアを顧客に選択させる消去ソフトウェア選択手段と、
消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを記憶媒体から消去する消去手段を備える。
【0017】
上記のように、第の発明によれば、顧客が持参した記憶媒体に格納されたソフトウェアのプログラムを書き換えることで、ソフトウェアのみを販売することができる。また、記憶媒体にすでにソフトウェアのプログラムが書き込まれている場合であっても、その空き容量が選択されたソフトウェアの合計データ量よりも大きい場合にのみ、選択されたソフトウェアのプログラムを書き込むようにしているので、すでに書き込まれているプログラムが上書きされて破壊されるような事態を防ぐことができる。更に、記憶媒体の空き容量が選択されたソフトウェアの合計データ量よりも小さい場合は、記録媒体内のソフトウェアを選択消去することができ、利便性を高めることができる。
【0018】
の発明は、第の発明において、
消去ソフトウェア選択手段によって選択されたソフトウェアを記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量が購入ソフトウェア選択手段によって選択されたソフトウェアの合計データ量よりも大きいか否かを判断する第2判断手段をさらに備え、
消去手段は、第2判断手段により大きいと判断された場合にのみ、消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを記憶媒体から消去する。
【0019】
第8の発明は、第6の発明において、
消去ソフトウェア選択手段によって選択されたソフトウェアを記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量が購入ソフトウェア選択手段によって選択されたソフトウェアの合計データ量よりも大きいか否かを判断する第2判断手段をさらに備え、
書込制御手段は、第2判断手段により大きいと判断された場合にのみ、購入ソフトウェア選択手段によって選択されたソフトウェアのプログラムを記憶媒体に書き込み、
消去手段は、第2判断手段により大きいと判断された場合にのみ、消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを記憶媒体から消去する。
【0020】
上記のように、第7乃至8の発明によれば、所定の条件(すなわち、消去のために選択されたソフトウェアを記憶媒体から消去したと仮定した場合における記憶媒体の空き容量が、購入のために選択されたソフトウェアの合計データ量よりも大きいという条件)が成立した場合にのみ、記憶媒体から消去のために選択されたソフトウェアのプログラムを消去するようにしたので、所定の条件が成立しないのに誤ってソフトウェアを消去してしまう事態を防ぐことができる
【0021】
第9の発明は、第1または第2の発明において、購入ソフトウェア選択手段によってソフトウェアが選択される毎に、そのときまでに選択されたソフトウェアの合計データ量を計算して表示する合計データ量表示制御手段をさらに備える。
【0022】
10の発明は、第2または第6の発明において、消去ソフトウェア選択手段によってソフトウェアが選択される毎に、そのときまでに消去すべきことが選択されたソフトウェアを記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量を計算して表示する空き容量表示制御手段をさらに備える。
【0023】
上記のように、第9乃至第10の発明によれば、そのときまでに選択されたソフトウェアの合計データ量や、消去のために選択されたソフトウェアを記憶媒体から消去したと仮定した場合における記憶媒体の空き容量を容易に確認することができるので、消去すべきソフトウェアを必要以上に多く選択することがなくなる
【0024】
第1の発明は、顧客に販売する複数種類のソフトウェアを記憶し、顧客が持参した記憶媒体に格納されているソフトウェアのプログラムを書き換えるコンピュータシステムのコンピュータに実行させるソフトウェア書換プログラムを記録した記録媒体である。当該ソフトウェア書換プログラムは、コンピュータシステムのコンピュータに、判断ステップと、書込制御ステップと、購入取消ソフトウェア選択ステップと、選択取消ステップとを実行させる。判断ステップは、複数種類のソフトウェアの中から顧客が購入する複数のソフトウェアを選択させ、記憶媒体の空き容量が当該選択された複数のソフトウェアの合計データ量よりも大きいか否かを判断させる。書込制御ステップは、判断ステップにおいて大きいと判断された場合にのみ、当該選択されたすべてのソフトウェアのプログラムを記憶媒体に順次に書き込む処理を開始させる。購入取消ソフトウェア選択ステップは、判断ステップにおいて大きいと判断されなかった場合に、購入ソフトウェア選択ステップにおいて選択されたソフトウェアの中から購入の選択を取り消すべきソフトウェアを選択させる。選択取消ステップは、購入取消ソフトウェア選択ステップにおいて購入の選択を取り消すべきことが選択されたソフトウェアの選択を取り消させる。
【0025】
第1の発明は、顧客に販売する複数種類のソフトウェアを記憶し、顧客が持参した記憶媒体に格納されているソフトウェアのプログラムを書き換えるコンピュータシステムのコンピュータに実行させるソフトウェア書換プログラムを記録した記録媒体である。当該当該ソフトウェア書換プログラムは、判断ステップと、書込制御ステップと、消去ソフトウェア選択ステップと、消去ステップとをコンピュータに実行させる。判断ステップでは、複数種類のソフトウェアの中から顧客が購入する複数のソフトウェアを選択させ、記憶媒体の空き容量が当該選択された複数のソフトウェアの合計データ量よりも大きいか否かを判断させる。書込制御ステップでは、判断ステップにおいて大きいと判断された場合にのみ、当該選択されたソフトウェアのプログラムを記憶媒体に順次に書き込ませる。消去ソフトウェア選択ステップでは、判断ステップにおいて大きいと判断されなかった場合に、記憶媒体に書き込まれているソフトウェアの中から、消去すべきソフトウェアを顧客に選択させる。消去ステップでは、消去ソフトウェア選択ステップにおいて選択されたソフトウェアのプログラムを記憶媒体から消去させる。
【0026】
【発明の実施の形態】
図1は、本発明の一実施形態に係るソフトウェア書換システムの第1の構成例を示すブロック図である。図1において、本実施形態のソフトウェア書換システムは、セットされたゲームカセット10にゲームプログラムを書き込むためのカセットライタ20と、このカセットライタ20を操作するための店内端末30とを備えている。
【0027】
カセットライタ20は、CPU21と、CD−ROMドライブ22と、RAM23と、フラッシュメモリ24と、ASIC25と、コネクタ26とを含む。CPU21には、CD−ROMドライブ22、RAM23、フラッシュメモリ24、ASIC25が接続されている。コネクタ26は、ASIC25と接続されている。このコネクタ26には、ゲームカセット10内のコネクタ11が着脱自在に装着される。これによって、ゲームカセット10とカセットライタ20とが電気的に接続される。店内端末30は、カセットライタ20の内部バス27に直結され、この内部バス27を介してCPU21と接続されている。
【0028】
CD−ROMドライブ22は、セットされたCD−ROM40からデータを読み出してCPU21に与える。後述するように、このデータには、書込制御プログラムと、ゲーム選択プログラムと、ゲームプログラムと、関連情報とが含まれている。CPU21は、上記の書込制御プログラムに従った動作を実行する。RAM23は、CD−ROM22から読み出されたゲームプログラムおよび関連情報と、CPU21の演算処理に必要なデータとを記憶する。フラッシュメモリ24は、CD−ROMドライブ22から読み出された書込制御プログラムを記憶する。ASIC25は、CPU21からの命令に従ってゲームカセット10に対するデータの書き込みおよび読み出しを制御する。つまり、ASIC25は、ゲームカセット10に対する入出力インタフェイスの機能を果たすと共に、ゲームカセット10内のメモリ(後述の図3のフラッシュメモリ12,SRAM13)のメモリブロックを選択する機能を有する。
【0029】
なお、店内端末30は、図2に示すように、LANケーブル29およびLANボード28を介して、CPU21と接続されても良い。また、CPU21は、LANケーブル29およびLANボード28を介して接続された電子式キャッシュレジスタ50と連動するような構成であっても良い。
図1のシステム構成は、カセットライタ20と店内端末30との間の物理的距離が近いが、図2のシステム構成では、店内端末30がカセットライタ20から離れた位置に設置される。図1のシステム構成は、客からの注文を聞いた店員が店内端末30を操作するような形態の店に適している。一方、図2のシステム構成は、顧客自身が店内端末30を操作して必要なゲームプログラムを注文するような形態の店に適している。
【0030】
図3は、図1に示すゲームカセット10と、当該ゲームカセット10が接続されるゲーム機60との詳細な構成を示すブロック図である。図3を参照して、ゲームカセット10は、コネクタ11と、フラッシュメモリ12と、SRAM13と、メモリコントローラ14と、バックアップIC15と、バックアップ用電池16と、チェック用IC17とを含む。フラッシュメモリ12およびSRAM13は、データバスDB1を介してコネクタ11に接続されると共に、アドレスバスAB1を介してメモリコントローラ14と接続される。メモリコントローラ14は、アドレスバスAB2を介してコネクタ11と接続される。チェック用IC17は、コネクタ11と接続される。
【0031】
周知のごとく、フラッシュメモリは、書き換え可能な不揮発性メモリであって、小型かつ大容量である。本実施形態において、フラッシュメモリ12は、一例として、32Mbitの容量を有しており、後述するように、ゲームプログラムを記憶するために用いられ、4Mbit単位で8つのブロックに分割されている。SRAM13は、電源が供給される限り記憶内容を保持する静的なRAMである。本実施形態において、SRAM13は、一例として、256kbitの容量を有しており、後述するように、ゲームのためのバックアップデータ(攻略したステージ、獲得したアイテム、成長させたキャラクタに関するデータ等)を記憶するために用いられ、16kbit単位で16個のブロックに分割されている。
【0032】
メモリコントローラ14は、アドレスバスAB2を介してカセットライタ20またはゲーム機60から与えられるアドレスを、フラッシュメモリ12およびSRAM13でのメモリ配置に適合するアドレスに変換する機能を有している。バックアップIC15は、電源をSRAM13に安定的に供給する機能と、SRAM13を不所望な誤書き込みから保護する機能とを有している。バックアップIC15は、ゲームカセット10に内蔵されたバックアップ用電池16から電源の供給を受ける。また、バックアップIC15は、図示されていないが、ゲームカセット10がカセットライタ20またはゲーム機60にセットされたとき、これらカセットライタ20またはゲーム機60から電源(商用電源を降圧して平滑化した直流電源)の供給を受ける。バックアップIC15は、ゲームカセット10がカセットライタ20またはゲーム機60から外されているとき、バックアップ用電池16からの電源をSRAM13に供給する。また、バックアップIC15は、ゲームカセット10がカセットライタ20またはゲーム機60にセットされているとき、カセットライタ20またはゲーム機60からの電源をSRAM13に供給する。
【0033】
フラッシュメモリ12およびSRAM13は、メモリコントローラ14から出力されるチップセレクト信号CE1と、バックアップIC15から出力されるチップセレクト信号CE2とによって、それらの選択状態が相補的に切り替えられる。すなわち、フラッシュメモリ12およびSRAM13は、いずれか一方が選択状態になっているとき、いずれか他方が非選択状態になっている。これは、フラッシュメモリ12およびSRAM13には、共通のデータバスおよびアドレスバスを介してデータおよびアドレスが供給されるが、供給されたアドレスに対応するメモリチップのアクセスのみを許可状態にするためである。チップセレクト信号CE2は、メモリコントローラ14から出力される1ビットのデコード信号DSを基に、バックアップIC15が生成する。特に、ゲームカセット10がカセットライタ20またはゲーム機60にセットされた状態であって、これらカセットライタ20またはゲーム機60の電源がオンされたとき、アドレスバスAB1には、電源オン時の過渡特性によって、ノイズが混入するおそれがある。このノイズが偶然SRAM13のいずれかの番地と一致した場合、SRAM13の該当する番地には不所望な書き込みが行われる。そこで、バックアップIC15は、カセットライタ20またはゲーム機60から供給される電源の電圧値を監視し、電源オン時においては、当該電圧値が予め定める値(約4.5V)に落ち着くまで、チップセレクト信号CE2をSRAM13に与えない。これによって、電源オン時の不所望な誤書き込みを防止することができる。
【0034】
また、メモリコントローラ14からフラッシュメモリ12に与えられるアドレスバスAB1の内、上位3ビットがフラッシュメモリ12の8つに分割されたブロックのいずれかを指定するために用いられる。同様に、メモリコントローラ14からSRAM13に与えられるアドレスバスAB1の内、上位4ビットがSRAM13の16個に分割されたブロックのいずれかを指定するために用いられる。
【0035】
ゲーム機60は、CPU61と、PPU(ピクチャ・プロセッシング・ユニット)62と、ワーキングRAM63と、ビデオRAM64と、I/Oインタフェイス65と、コネクタ66と、チェック用IC67とを含む。CPU61には、データバスDB3およびアドレスバスAB3を介してコネクタ66が接続され、データバスDB4およびアドレスバスAB4を介してPPU62が接続され、データバスDB5およびアドレスバスAB5を介してワーキングRAM63が接続される。さらに、CPU61には、I/Oインタフェイス65を介して、コントローラ70が接続される。ビデオRAM64は、データバスDB6およびアドレスバスAB6を介してPPU62と接続される。また、PPU62の出力は、テレビジョン受像機80に与えられる。チェック用IC67は、コネクタ66と接続される。
【0036】
ゲームを楽しむとき、ゲームカセット10のコネクタ11がゲーム機60のコネクタ66に差し込まれる。これによって、フラッシュメモリ12およびSRAM13がCPU61の管理下に入る。そして、CPU61は、フラッシュメモリ12からゲームプログラムを読み出し、ゲーム動作を開始する。また、必要に応じて、SRAM13からゲームに対応するバックアップデータを読み出し、ゲーム動作のためのパラメータを設定する。コントローラ70は、プレイヤーによって操作され、CPU61に種々の指示および命令を与える。ワーキングRAM63は、CPU61の演算処理に必要な種々のデータを記憶する。PPU62は、CPU61からの命令に基づき、ビデオRAM64に格納されたキャラクタデータから表示用データを生成する。この表示用データは、テレビジョン受像機80に与えられ、表示される。このように、PPU62を設けることで、CPU61は、表示用データの生成処理から解放され、本来のゲーム動作を高速で行うことが可能となる。
【0037】
コネクタ11がコネクタ66に差し込まれると、チェック用IC67は、チェック用IC17との間で所定の認証処理を行う。認証結果が適正な場合、チェック用IC17は、リセット解除信号/RSを出力する。このリセット解除信号/RSは、メモリコントローラ14に与えられる。応じて、メモリコントローラ14は、コネクタ11およびコネクタ66を介してCPU61に供給しているリセット信号RSを解除する。一方、認証結果が不適正な場合、メモリコントローラ14はCPU61のリセットを解除しない。このとき、CPU61は、ゲームプログラムを起動しない。これによって、違法に販売されたゲームカセットの使用を排除することができる。
【0038】
図4は、図3に示すフラッシュメモリ12およびSRAM13のメモリマップを示す図である。図4において、フラッシュメモリ12は、データ記憶領域として、ゲーム選択プログラムやゲームプログラムを記憶する主領域121と、ゲーム関連情報を記憶する関連情報記憶領域122とを含む。主領域121は、32Mbitの記憶容量を有し、4Mbit単位に8つのブロックに分割されている。主領域121は、ブロック単位でゲーム選択プログラムおよびゲームプログラムを記憶する。ブロックの1つが、ゲーム選択プログラムの記憶のために用いられるので、主領域121は、最大7種類のゲームプログラムを記憶可能である(ただし、各ゲームプログラムが4Mbit以下の場合である)。なお、4Mbit以上のゲームプログラムを記憶する場合は、複数のブロックを使用することになる。
【0039】
SRAM13は、256kbitの記憶容量を有し、16kbit単位で16個のブロックに分割されている。SRAM13は、上記主領域121に書き込まれたゲームプログラムのためのバックアップデータを記憶する。
【0040】
図5は、図4における関連情報記憶領域122のメモリマップを示す図である。図5において、関連情報記憶領域122は、主領域121のアドレス空間とは別のアドレス空間を有し、特別のコマンドが与えられたときのみアクセス可能なメモリ領域である。この関連情報記憶領域122は、フラッシュメモリ12の主領域121に記憶されたゲーム選択プログラムおよびゲームプログラムについて、それぞれに固有の関連情報を記憶する領域122a〜122gを含む。領域122aはゲームタイトル、領域122bはマップ情報、領域122cはフラッシュメモリの容量(プログラムを主記憶領域121に記憶させるのに必要な容量)、領域122dはSRAMの容量(対応するバックアップデータをSRAM13に記憶させるのに必要な容量)、領域122eはフラッシュメモリのブロック番号(プログラムを記憶している主記憶領域121のブロックの番号)、領域122fはSRAMのブロック番号(対応するバックアップデータを記憶しているSRAM13のブロックの番号)、領域122gはゲームの販売価格の情報が記憶される。ところで、ゲーム機60内のCPU61は、独自の広いアドレス空間を有している。そして、ゲームプログラムは、このアドレス空間の所定の位置に配置されなければならない。上記マップ情報は、ゲームプログラムがCPU61のアドレス空間のいずれの位置に配置されるべきかを示している。
【0041】
図6は、この発明のゲームソフトを書き換えて販売する原理を説明するための図であり、例えばCD−ROM40に格納されたデータが、ゲームカセット10に書き込まれていく際のデータの流れを示した図である。図6において、CD−ROM40には、書込制御プログラムと、ゲーム選択プログラムと、複数種類のゲームプログラムと、各ゲームプログラムについての関連情報とが格納されている。CD−ROM40に格納される関連情報は、ゲームのタイトルと、マップ情報と、ゲームプログラム記憶のためにフラッシュメモリ12に確保すべき容量と、バックアップデータ記憶のためにSRAM13に確保すべき容量と、ゲームの販売価格とを含む。CD−ROM40に格納された書込制御プログラムは、カセットライタ20のCPU21によって読み出され、カセットライタ20内のフラッシュメモリ24に書き込まれる。以後、CPU21は、この書込制御プログラムに従って、ゲームカセット10に対するゲームプログラムの書き込み制御動作を実行する。CD−ROM40に格納されたゲーム選択プログラム、ゲームプログラムおよび関連情報は、カセットライタ20のCPU21によって読み出され、カセットライタ20内のRAM23に書き込まれる。RAM23に書き込まれたゲーム選択プログラムおよびゲームプログラムは、ゲームカセット10に転送され、フラッシュメモリ12の主領域121に書き込まれる。RAM23に書き込まれた関連情報は、ゲームカセット10に転送され、フラッシュメモリ12の関連情報記憶域122に書き込まれる。なお、ゲーム選択プログラムは、ゲームカセット10をゲーム機60にセットしたとき、ゲーム機60のCPU61によって実行され、複数のゲームの中から1つのゲームを選択するために用いられる。
【0042】
ここで、1つのゲームプログラムとフラッシュメモリ12とマスターデータを記憶するCD−ROM40のそれぞれの容量の関係を説明する。フラッシュメモリ12は、例えば32Mbitの容量を有するものが用いられる。1つのゲームプログラムのデータ量は、4Mbitの整数倍、例えばフラッシュメモリ12の容量が32Mbitの場合であれば、4Mbit、8Mbit、12Mbit、16Mbit、20Mbit、24Mbit、28Mbit、32Mbitに選ばれる。1つのゲームプログラムは、フラッシュメモリ12の容量と同等かそれ以下に設定されている。したがって、フラッシュメモリ12には、4Mbitのゲームプログラムが最大で7種類と4Mbitのゲーム選択プログラムとを記憶できる。例えば、1本のゲームプログラムが8Mbitの場合であれば、3種類のゲームソフトと4Mbitのゲーム選択プログラムが記憶できる。また、32Mbitのゲームプログラムを記憶する場合は、ゲーム選択プログラムが不要である。
一方、CD−ROM40は、数百Mbyteの容量を有する。従って、CD−ROM40の容量は、フラッシュメモリ12の容量や1つのゲームプログラムの容量に比べて非常に大きいため、数多くの種類のゲームプログラムを記憶できる。なお、CD−ROM40は、少なくとも4Mbitのゲームプログラム7種類と4Mbitのゲーム選択プログラムとを記憶できる容量であれば足りる。
【0043】
図7は、ゲームカセット10のフラッシュメモリ12に書き込まれたゲームプログラムを書き換える際のデータの流れを示した図である。なお、ここでは、一例として、ゲーム1〜4のプログラムが書き込まれているフラッシュメモリ12において、ゲーム1および3のプログラムを残し、かつゲーム2および4のプログラムを消去して、新たにゲーム5のプログラムを書き込む際のデータの流れを示している。図7において、カセットライタ20のCPU21は、フラッシュメモリ12に書き込まれている全てのデータを読み出し、RAM23上に展開する。その後、カセットライタ20において、消去のためにゲーム2および4が選択されると、CPU21は、RAM23からゲーム2および4のプログラムを消去する。また、CPU21は、カセットライタ20において、購入のためにゲーム5が選択されると、CD−ROM40からゲーム5のプログラムを読み出し、RAM23に格納する。その後、CPU21は、RAM23に残ったゲーム選択プログラムとゲーム1,3および5のプログラムとを読み出し、ゲームカセット10に転送する。これによって、ゲームカセット10のフラッシュメモリ12にゲーム選択プログラムとゲーム1,3および5のプログラムとが書き込まれる。
【0044】
なお、残されたゲーム1,3に対応する関連情報および新たに書き込まれるゲーム5の関連情報が、フラッシュメモリ12の関連情報記憶領域122に書き込まれるが、その詳細は、図6の説明を参照すれば、容易に理解できるので、ここでは省略する。
【0045】
このように、本実施形態では、ゲームカセット10のフラッシュメモリ12に書き込まれたゲームプログラムを書き換える際に、フラッシュメモリ12に書き込まれている全てのデータを一度RAM23に読み出し、RAM23上でゲームプログラムの整理、再配置を行った後、フラッシュメモリ12に書き込むようにしているので、ゲームプログラムを効率良く書き込むことができる。なお、図7では、フラッシュメモリ12内の全てのプログラムを書き換えるようにしているが、フラッシュメモリ12内の記憶位置(ブロックNo.)が変更されないプログラム、すなわちゲーム選択プログラムとゲーム1のプログラムは書き換えないようにしても良い。
【0046】
図8〜図13は、カセットライタ20に接続された店内端末30に表示される操作画面の一例を示す図である。より具体的には、図8および図9は、ゲーム選択画面を示している。なお、図8は、購入するゲームを選択する前の画面を、図9は、購入するゲームを選択した後の画面を示している。また、図10〜図12は、ゲーム削除画面を示している。なお、図10は、消去および/または取り消すべきゲームプログラムを指定する前であって、書込可能な状態の画面を示しており、図11は、消去および/または取り消すべきゲームプログラムを指定する前であって、書込不可能な状態の画面を示しており、図12は、消去および/または取り消すべきゲームプログラムの指定が終了した後の画面を示している。また、図13は、ゲーム機60に接続されたテレビジョン受像機80において、ゲーム開始前に表示されるメニュー画面を示す図である。
【0047】
図14〜図16は、書込制御プログラムに従うカセットライタ1の動作を示すフローチャートである。また、図17は、ゲーム機60の動作を示すフローチャートである。以下、これら図8〜図17を参照して、上記実施形態の動作を説明する。
【0048】
まず、図14〜図16に示されるカセットライタ1の動作について説明する。電源がオンされると、CPU21は、フラッシュメモリ24内の書込制御プログラムをバージョンアップすべきか否かを判断する(ステップS101)。フラッシュメモリ24に書込制御プログラムが記憶されていない場合、またはCD−ROM40に格納された書込制御プログラムのバージョンがフラッシュメモリ24に記憶された書込制御プログラムのバージョンよりも新しい場合は、書込制御プログラムをバージョンアップすべきと判断される。書込制御プログラムをバージョンアップすべき場合、CPU21は、CD−ROMドライバ22を用いてCD−ROM40から書込制御プログラムを読み出し、当該読み出した書込制御プログラムを、図6に示すように、フラッシュメモリ24にダウンロードする(ステップS102)。CD−ROM40は、常に新作ソフトが販売できるように、定期的(例えば、1ヶ月毎)に販売店に供給される。従って、このCD−ROM40に書込制御プログラムを格納し、格納された書込制御プログラムに基づいて自動的にカセットライタ20のソフト処理のバージョンアップ作業を行うようにすれば、販売店側は、面倒なバージョンアップ作業から解放され、本来の店内業務に専念できる。
【0049】
書込制御プログラムのダウンロードが終了すると、CPU21は、当該書込制御プログラムを起動する(ステップS103)。以後、CPU21は、書込制御プログラムに従って動作する。次に、CPU21は、CD−ROM40からゲーム選択画面の表示に必要なデータ(ゲームのタイトル、容量および販売価格)を読み込み、図6に示すように、RAM23のワーキング領域に書き込む(ステップS104)。次に、CPU21は、図8に示すようなゲーム選択画面を店内端末30に表示させる(ステップS105)。このゲーム選択画面は、販売ゲームリスト301と、ページ更新ボタン302および303と、購入ゲームリスト304と、合計容量表示部305および306とを含む。販売ゲームリスト301には、上記ステップS104においてRAM23に書き込まれたゲームのタイトル、容量および価格に従って、販売するゲームのタイトル、容量および価格が表示される。販売するゲームの種類が多い場合は、1画面中に販売ゲームリストの全体を表示することが困難であるが、画面中のページ更新ボタン302または303を選択することにより、販売ゲームリストの表示ページを前後方向に更新でき、これによって、販売ゲームリストに含まれるゲームの全種類を見ることができる。なお、ボタンを選択する方法としては、表示画面にタッチパネルを設け、該当するボタンを指で押圧する方法であっても良いし、マウス等のポインティングデバイスによって該当するボタンにカーソルを合わせ、クリックするような方法であっても良い。以下に述べる店内端末30での種々の選択操作も上記と同様の方法で行われる。このとき、購入するゲームの選択は行われていないので、購入ゲームリスト304、合計容量表示部305および306には、何らの情報も表示されていない。購入決定ボタン307は、購入するゲームの選択が終了したときに選択されるボタンである。
【0050】
次に、CPU21は、コネクタ26にゲームカセット10がセット(装着)されたか否かを判断する(ステップS106)。ゲームカセット10がセットされると、CPU21は、関連情報記憶領域122に記憶された関連情報に基づいてフラッシュメモリ12およびSRAM13の空き容量(以下、ゲームカセット空き容量と称す)を計算するとともに、関連情報記憶領域122に記憶されている関連情報を読み出す(ステップS107)。このとき計算されたゲームカセット空き容量および読み出されたデータは、RAM23に一時的に記憶される(図7参照)。
【0051】
次に、店員または顧客(図1のシステム構成の場合は店員、図2のシステム構成の場合は顧客)は、店内端末30を操作し、販売ゲームリストの中から購入するゲームを選択する(ステップS108)。応じて、CPU21は、購入のために選択されたゲームのタイトル、容量および価格を、RAM23に一時的に記憶させる(ステップS109)。このとき、図9に示すように、店内端末30には、購入ゲームリスト304中に、選択されたゲームのタイトル、容量および価格が表示される。次に、CPU21は、そのときまでに選択されたゲームの合計容量(以下、選択ゲーム合計容量と称す)を計算する(ステップS110)。計算された選択ゲーム合計容量は、図9の合計容量表示部305および306に表示される。なお、合計容量表示部305は、書き込みに必要なフラッシュメモリ12の容量をブロック単位で表示し、合計容量表示部306は、書き込みに必要なSRAM13の容量をブロック単位で表示する。次に、CPU21は、購入するゲームの選択が終了したか否かを判断する(ステップS111)。店員または顧客によって、図9の購入決定ボタン307が選択されたとき、購入するゲームの選択が終了したと判断される。ゲームの選択が終了していない場合は、再びステップS108〜S110の動作が繰り返される。
【0052】
一方、ゲームの選択が終了した場合、CPU21は、前述のステップS110で計算された選択ゲーム合計容量が前述のステップS107で計算されたゲームカセット空き容量以下であるか否かを判断する(ステップS112)。選択ゲーム合計容量がゲームカセット空き容量以下である場合、CPU21は、店内端末30に、図10に示すようなゲーム削除画面を表示させる。一方、選択ゲーム合計容量がゲームカセット空き容量を越えている場合、CPU21は、店内端末30に、図11に示すようなゲーム削除画面を表示させる。
【0053】
図10および図11に示すように、ゲーム削除画面は、カセット内ゲームリスト308と、空き容量表示部309および310と、購入ゲームリスト304と、合計容量表示部305および306と、書込可能ボタン311と、カセット内全消去ボタン312と、画面リターンボタン313とを含む。カセット内ゲームリスト308には、ゲームカセット10に格納されているゲームのリストが表示される。また、空き容量表示部309には、フラッシュメモリ12の空き容量が表示される。空き容量表示部310には、SRAM13の空き容量が表示される。これらカセット内ゲームリスト308、空き容量表示部309および310の表示内容は、前述のステップS107でRAM23に格納されたデータに基づいて決定される。書込可能ボタン311は、購入ゲームリスト304に挙げられたゲームのプログラムをゲームカセット10に書き込む指示を与えるときに選択される。ここで、図10および図11を対比すると、図10のゲーム削除画面では、書込可能ボタン311が選択可能になっているのに対し、図11のゲーム削除画面では、書込可能ボタン311が選択不能になっている。これは、図11の状態では、選択ゲーム合計容量がゲームカセット空き容量を越えているため、ゲームプログラムの書込指示を禁止するためである。カセット内全削除ボタン312は、ゲームカセット10に格納されたゲームプログラムを一括的に全て消去するときに選択される。画面リターンボタン313は、ゲーム削除画面を図9に示すゲーム選択画面に戻すときに選択される。
【0054】
選択ゲーム合計容量がフラッシュメモリ12およびSRAM13の空き容量以下の場合、CPU21は、店員または顧客によって書込可能ボタン311が選択されたか、画面リターンボタン313が選択されたかを判断する(ステップS113)。画面リターンボタン313が選択された場合、再びステップS108〜S112の動作が繰り返される。すなわち、このステップS108〜S112の繰り返し動作において、購入すべきゲームの追加または変更が行われる。一方、書込可能ボタン311が選択された場合、CPU21は、図6および図7に示すように、購入のために選択されたゲームのプログラムと、ゲーム選択プログラムと、関連情報とをCD−ROM40から読み出し、および/またはゲームカセット10内のフラッシュメモリ12およびSRAM13に記憶されている全データ(ゲームプログラム、バックアップデータ)を読み出し、RAM23に格納する(ステップS114)。
【0055】
前述のステップS112において、選択ゲーム合計容量がゲームカセット空き容量を越えている場合、ゲームカセット10に格納されているゲームプログラムを消去するか、購入のために選択したゲームを取り消す必要がある。そこで、店員または顧客は、図11に示すゲーム削除画面において、カセット内ゲームリスト308から消去すべきゲームを選択し、および/または、購入ゲームリスト304から購入を取り消すべきゲームを選択する。この後の動作の詳細は、図16に示されている。
【0056】
図16において、CPU21は、購入するゲームの取消が選択されたのか、ゲームプログラムの消去が選択されたかを判断する(ステップS115およびS116)。ゲームの取消が選択された場合、CPU21は、選択されたゲームの取消処理を行う(ステップS117)。これによって、ゲーム削除画面の購入ゲームリスト304には、図12に示すように、取消が選択されたゲームに対し、取消表示がなされる。また、ゲームプログラムの消去が選択された場合、CPU21は、図示しない消去フラグをセットする(ステップS118)。このとき、ゲーム削除画面のカセット内ゲームリスト308には、図12に示すように、消去が選択されたゲームに対し、消去表示がなされる。
【0057】
上記ステップS117またはS118の後、CPU21は、選択ゲーム合計容量およびゲームカセット空き容量を再計算する(ステップS119)。このときの再計算結果は、図12に示すように、合計容量表示部305および306、空き容量表示部309および310に反映される。ここで、顧客は、ゲームカセット10内のゲームプログラムを消去しないように考え直す場合がある。このような場合、店員または顧客は、カセット内ゲームリスト308において消去が選択されているゲームを再選択することにより、ゲームプログラムの消去を解除する。CPU21は、このような消去の解除がなされたか否かを判断する(ステップS120)。もし、消去の解除がなされている場合、CPU21は、前述のステップS118でセットした消去フラグをリセットした後(ステップS121)、ステップS122に進む。一方、消去の解除がなされていない場合、CPU21は、消去フラグをリセットすることなく、ステップS122に進む。
【0058】
ステップS122において、CPU21は、再計算された選択ゲーム合計容量が再計算されたフラッシュメモリ12またはSRAM13の空き容量以下であるか否かを判断する。選択ゲーム合計容量がこれらの空き容量を越えている場合、再びステップS115〜S121の動作が繰り返される。すなわち、選択ゲーム合計容量がフラッシュメモリ12またはSRAM13の空き容量以下になるまで、取消および/または消去すべきゲームの追加または変更が行われる。選択ゲーム合計容量が空き容量以下になると、CPU21は、店員または顧客によって書込可能ボタン311が選択されたか、画面リターンボタン313が選択されたかを判断する(ステップS123)。画面リターンボタン313が選択された場合、再びステップS108の動作に戻る。すなわち、購入すべきゲームの追加または変更処理が行われる。一方、書込可能ボタン311が選択された場合、CPU21は、購入のために選択されたゲームのプログラムと、ゲーム選択プログラムと、関連情報とをCD−ROM40から読み出すと共に、ゲームカセット10内のフラッシュメモリ12およびSRAM13に記憶されている全データ(ゲームプログラム、バックアップデータ)を読み出してRAM23に格納する(ステップS124)。次に、CPU21は、消去フラグがセットされているか否かを判断する(ステップS125)。消去フラグがセットされている場合、CPU21は、消去処理を行う(ステップS126)。この消去処理では、前述のステップS107でRAM23に格納されたゲームカセット10のデータの内、消去のために選択されたゲームのプログラム、バックアップデータおよび関連情報が消去される(図7参照)。消去フラグがリセットされている場合、またはステップS125の消去処理が終了した後、CPU21は、後述のステップS127に進む。
【0059】
次に、CPU21は、ゲームカセット10へのプログラムの書込を開始する(図6,図7および図15参照)。まず、CPU21は、フラッシュメモリ12の先頭ブロックを指定する(ステップS127)。次に、CPU21は、フラッシュメモリ12に書き込むべきゲームプログラム(購入のために選択されたゲームプログラムおよびゲームカセット10に元から格納されていたゲームプログラムであって消去されなかったゲームプログラム)がフラッシュメモリ12の8つのブロック(32Mbit分)を全て使用するゲームプログラム(以下、フルサイズゲームプログラムと称す)か否かを判断する(ステップS128)。書き込むべきゲームプログラムがフルサイズゲームプログラムでない場合、CPU21は、RAM23からゲーム選択プログラム(CD−ROM40から読み出したゲーム選択プログラム)を読み出し、フラッシュメモリ12の主領域121の先頭ブロックに書き込む(ステップS129)。一方、書き込むべきゲームプログラムがフルサイズゲームプログラムの場合は、後にゲーム機60においてゲーム選択を行う必要がないので、CPU21は、ゲーム選択プログラムをフラッシュメモリ12に書き込まない。これによって、ゲームプログラムの容量が大きい場合は、フラッシュメモリ12の容量を最大限に利用した書込が行える。
【0060】
上記ステップS129の後、または上記ステップS127で書き込むべきゲームプログラムがフルサイズゲームプログラムであると判断された後、CPU21は、ゲームプログラムをRAM23から読み出し、フラッシュメモリ12の主領域121に書き込む(ステップS130)。このとき、書き込むべきゲームプログラムがフルサイズゲームプログラムである場合は、フラッシュメモリ12の主領域121の先頭ブロックから書き込みが開始され、書き込むべきゲームプログラムがフルサイズゲームプログラムでない場合は、フラッシュメモリ12の主領域121の第2番目のブロックから書き込みが開始される。次に、CPU21は、RAM23内にフラッシュメモリ12に書き込むべきゲームプログラムが2個以上存在するか否かを判断する(ステップS131)。書き込むべきゲームプログラムが2個以上存在する場合、CPU21は、フラッシュメモリ12の主領域121の次のブロック(次のゲームプログラムの書き込みを開始するブロック)を指定する(ステップS132)。その後、CPU21は、ゲームプログラムの書き込みが全て終了したか否かを判断する(ステップS133)。一方、書き込むべきゲームプログラムが1個であり、しかもフルサイズゲームプログラムでない場合、CPU21は、次のブロックを指定することなく、ステップS133の判断を行う。ゲームプログラムの書き込みが終了していない場合、CPU21は、再びステップS130以下の動作を繰り返す。これによって、フラッシュメモリ12の主領域121には、RAM23に格納されたゲームプログラムが順番に書き込まれていく。一方、ゲームプログラムの書き込みが終了した場合、CPU21は、RAM23に格納されたバックアップデータをSRAM13に書き込むと共に、関連情報をフラッシュメモリ12の関連情報記憶領域122に書き込む(ステップS134)。その後、CPU21は、図14のステップS106の動作に戻る。
【0061】
次に、図17を参照して、ゲームカセット10内に格納されたゲームプログラムをゲーム機60で実行させる際の動作を説明する。ゲームカセット10がゲーム機60のコネクタ66にセットされ、ゲーム機60の電源がオンされると、ゲームカセット10内のメモリコントローラ14は、リセット信号RSを生成し、当該リセット信号RSをコネクタ11および66を介して、ゲーム機60内のCPU61に供給する。これによって、CPU61は、動作停止状態に置かれる。
【0062】
その後、メモリコントローラ14は、フラッシュメモリ12の関連情報記憶領域122から関連情報を読み出して一時的に記憶すると共に、当該関連情報に含まれるマップ情報に基づいて、アドレス変換パラメータを設定する(ステップS201)。このとき、CPU61は、依然として動作停止状態にある。前述したように、ゲームプログラムは、CPU61が有するアドレス空間の所定の位置に配置されなければならない。そして、この所定の位置は、ゲームの種類によって異なっている。上記のアドレス変換パラメータは、CPU61のアドレス空間をフラッシュメモリ12のアドレス空間に一致させるためのアドレス変換処理に用いられる。
【0063】
その後、チェック用IC17および67が動作し、ゲームカセット10の認証処理を行う。認証処理の結果、ゲームカセット10が適法な真性品であることが確認された場合、チェック用IC17からリセット解除信号/RSが出力される。このリセット解除信号/RSは、メモリコントローラ14に与えられる。メモリコントローラ14は、リセット解除信号/RSが与えられると、コネクタ11および66を介してCPU61に供給しているリセット信号RSを解除する。これによって、CPU61は動作を開始し、まず、フラッシュメモリ12の主領域121の先頭ブロックからプログラム(ゲームプログラムまたはゲーム選択プログラム)を読み出す。
【0064】
フラッシュメモリ12に記憶されたゲームプログラムがフルサイズゲームプログラムの場合、上記先頭ブロックから読み出されるプログラムは、フルサイズゲームプログラムである。これに対し、フラッシュメモリ12に記憶されたゲームプログラムがフルサイズゲームプログラムでない場合、上記先頭ブロックから読み出されるプログラムは、ゲーム選択プログラムである。CPU61は、上記先頭ブロックからのプログラムの読み出しを終了すると、当該読み出したプログラムがフルサイズゲームプログラムかゲーム選択プログラムかを判断する(ステップS202)。
【0065】
まず、上記先頭ブロックからフルサイズゲームプログラムが読み出された場合の動作について説明する。この場合、CPU61は、フラッシュメモリ12の主領域121からブロック順次にフルサイズゲームプログラムを読み出し、読み出したフルサイズゲームプログラムに従って、ゲーム処理を実行する(ステップS203)。次に、CPU61は、ゲームが終了したか否かを判断する(ステップS204)。ゲームが終了するまで、ステップS203のゲーム処理は継続的に実行される。ゲームが終了すると、CPU61は、所定の終了処理を実行する(ステップS205)。この終了処理では、例えばバックアップデータがSRAM13に格納される。次に、CPU61は、プレイヤーからリセット要求があったか否か(すなわち、プレイヤーによってゲーム機60のリセットボタン(図示せず)が押されたか否か)を判断する(ステップS206)。リセット要求があった場合、CPU61は、再びステップS203以下の動作を繰り返す。一方、リセット要求がない場合、CPU61は、その動作を終了する。
【0066】
次に、上記先頭ブロックからゲーム選択プログラムが読み出される場合の動作を説明する。この場合、CPU61は、読み出したゲーム選択プログラムに従ってゲーム選択処理を実行する(ステップS207)。このゲーム選択処理では、テレビジョン受像機80に図13に示すようなゲーム選択メニューが表示される。プレイヤーは、コントローラ70を用いてゲーム選択メニューの中から遊びたいゲームを選択する。次に、CPU61は、プレイヤーによるゲームの選択が終了したか否かを判断する(ステップS208)。ゲームの選択が終了すると、メモリコントローラ14によって、アドレス変換処理が行われる(ステップS209)。このアドレス変換処理では、CPU61は、再びリセットされて動作停止状態に置かれる。また、メモリコントローラ14は、選択されたゲームが格納されているフラッシュメモリ12のブロックの先頭アドレスを指定し、CPU61のアドレス空間のプログラム配置位置をこの先頭アドレスに一致させるために、ステップS201で設定されたアドレス変換パラメータを変更する。上記ステップS209においてCPU61をリセット状態に置くのは、CPU61が不安定な状態で暴走するのを防止するためである。その後、メモリコントローラ14は、CPU61のリセットを解除する。これによって、CPU61は動作を開始し、ステップS210〜S213の動作を行う。このステップS210〜S213の動作は、それぞれ、前述のステップS203〜S206の動作と同様であるので、その説明を省略する。
【0067】
なお、上記実施形態では、ゲームプログラムが書き込まれる記憶媒体として、フラッシュメモリを内蔵したゲームカートリッジ1を用いたが、これに代えて、M0D(磁気光ディスク)、CDR(書き込み可能なコンパクトディスク)、DVDR(書き込み可能なデジタルビデオディスク)、フロッピーディスク等、その他の記憶媒体を用いるようにしても良い。
【0068】
また、上記実施形態では、CD−ROM40に元データを記録するようにしたが、このようなCD−ROM40に代えて、M0D、CD、DVD等、他の大容量記憶媒体を用いるようにしても良い。
【0069】
また、上記実施形態では、ソフトウェアとしてゲームプログラムを販売するシステムについて示したが、本発明は、教育用プログラム、ビジネス用プログラム等の他の種類のソフトウェアを販売するシステムにも適用が可能である。
【0070】
また、上記実施形態では、ゲームカセット10は、ゲームプログラムをフラッシュメモリ12に記憶し、バックアップデータをSRAM13に記憶するように構成されているが、それぞれのデータを他の種類のメモリ(ただし、書き換えが可能である性質を有していることが必要)に記憶させるようにしてもよいし、ゲームプログラムおよびバックアップデータを1つのメモリ内に記憶させるようにしても良い。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るソフトウェア販売システムの第1の構成例を示すブロック図である。
【図2】本発明の一実施形態に係るソフトウェア販売システムの第2の構成例を示すブロック図である。
【図3】図1に示すゲームカセット10と、当該ゲームカセット10が接続されるゲーム機60との詳細な構成を示すブロック図である。
【図4】図3に示すフラッシュメモリ12およびSRAM13のメモリマップを示す図である。
【図5】図4における関連情報記憶領域122のメモリマップを示す図である。
【図6】CD−ROM40に格納されたデータがゲームカセット10に書き込まれていく際のデータの流れを示した図である。
【図7】ゲームカセット10のフラッシュメモリ12に書き込まれたゲームプログラムを書き換える際のデータの流れを示した図である。
【図8】店内端末30に表示されるゲーム選択画面を示す図であり、特に、購入するゲームを選択する前の画面を示している。
【図9】店内端末30に表示されるゲーム選択画面を示す図であり、特に、購入するゲームを選択した後の画面を示している。
【図10】店内端末30に表示されるゲーム削除画面を示す図であり、特に、消去および/または取り消すべきゲームプログラムを指定する前であって、書込可能な状態の画面を示している。
【図11】店内端末30に表示されるゲーム削除画面を示す図であり、特に、消去および/または取り消すべきゲームプログラムを指定する前であって、書込不可能な状態の画面を示している。
【図12】店内端末30に表示されるゲーム削除画面を示す図であり、特に、消去および/または取り消すべきゲームプログラムを指定した後の画面を示している。
【図13】ゲーム機60に接続されたテレビジョン受像機80において、ゲーム開始前に表示されるメニュー画面を示す図である。
【図14】書込制御プログラムに従うカセットライタ1の第1の動作を示すフローチャートである。
【図15】書込制御プログラムに従うカセットライタ1の第2の動作を示すフローチャートである。
【図16】書込制御プログラムに従うカセットライタ1の第3の動作を示すフローチャートである。
【図17】ゲーム機60の動作を示すフローチャートである。
【符号の説明】
10…ゲームカセット
11…コネクタ
12…フラッシュメモリ
121…主領域
122…関連情報記憶領域
13…SRAM
14…メモリコントローラ
15…バックアップIC
16…バックアップ用電池
17…チェック用IC
20…カセットライタ
21…CPU
22…CD−ROMドライブ
23…RAM
24…フラッシュメモリ
25…ASIC
26…コネクタ
30…店内端末
40…CD−ROM
50…電子式キャッシュレジスタ
60…ゲーム機
61…CPU
62…PPU
63…ワーキングRAM
64…ビデオRAM
65…I/0インタフェイス
66…コネクタ
67…チェック用IC
70…コントローラ
80…テレビジョン受像機
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a software rewriting system, and more particularly, to a software rewriting system for selling a program (for example, a game program) to a user by writing the program (for example, a game program) on a storage medium brought by the user.
[0002]
[Prior art]
With the rapid spread of computer devices, software is frequently traded in a wide field such as games, education, and business. Currently, the mainstream of transactions is a method of providing a user with a recording medium (floppy disk, ROM cartridge, CD-ROM, etc.) storing software programs as package software.
[0003]
However, for the user, the program itself is important, and the recording medium for storing the program is not important. If only the program can be provided to the user, the cost for the recording medium can be reduced, and the software can be provided at a lower cost. On the other hand, it is not necessary for the dealer to stock the recording media that stores the program for each type of software, so it is possible to save space and prevent stagnation of funds, enabling more sound management. It becomes.
[0004]
Therefore, realization of a sales apparatus that can sell only programs is strongly desired. The present invention is directed to a system in which only a program is sold to a user by writing the program on a recording medium brought by the user. For this purpose, the program stored in the recording medium needs to be rewritten.
[0005]
Conventionally, as a technique for writing a program to a recording medium, Japanese Patent Application Laid-Open No. 60-684 (hereinafter referred to as a first conventional technique) and Japanese Patent Application Laid-Open No. 59-229673 (hereinafter referred to as a second conventional technique). ) Is known.
[0006]
[Problems to be solved by the invention]
However, both the first and second prior arts are only intended to write one type of program on a recording medium, and there are problems in organizing and writing a plurality of types of programs on one recording medium. And does not teach or suggest any method. If only one type of program is always written on one recording medium, the user must bear the cost of the recording medium for each program and cannot enjoy the expected cost merit. If the first and second prior arts are expanded and a plurality of types of programs are written on one recording medium, it is not known which program is to be rewritten, and the program to be retained may be overwritten. There is. In addition, since the user does not know how much remaining capacity of the recording medium, the user knows the capacity of the program to be written and the capacity by type of the written program when selecting the type of program that can be purchased. Appropriate capacity range types must be selected with artificial judgment. Thus, when a writing device according to the prior art is used as a software sales device, such a sales device is not easy to use, and there is a possibility that a program to be kept may be destroyed.
[0007]
Therefore, an object of the present invention is to provide a software rewriting system that can efficiently sell only software and is easy to use.
[0008]
[Means for Solving the Problems and Effects of the Invention]
  1st invention is a system which rewrites the program of the software stored in the storage medium which the customer brought,
  Software storage means storing a plurality of types of software programs to be sold to customers;
  Customers purchase from multiple types of software stored in software storage means.SeoSoftwareMultipleChoicePossiblePurchase software selection means,
  Judge whether or not the free space of the storage medium is larger than the total data amount of the software selected by the purchased software selection meansA first determination means to,
  By the first judgment meansJudged to be largeWasOnly if the selectedAllSequentially write software programs to storage mediaStart processingWrite control means,
  Purchase cancellation software selection means for selecting software to cancel purchase selection from among the software selected by the purchase software selection means when the first determination means does not determine that it is larger,
  A selection canceling means for canceling the selection of software selected to be canceled by the purchase canceling software selection means;It has.
[0009]
As described above, according to the first invention, only the software can be sold by rewriting the software program stored in the storage medium brought by the customer. Even if a software program has already been written to the storage medium, the selected software program should be written only when the free space is larger than the total data amount of the selected software. Therefore, it is possible to prevent an already written program from being overwritten and destroyed.
[0010]
  According to a second invention, in the first invention,
  An erasure software selection means for causing a customer to select software to be erased from software written in the storage medium when the first judgment means does not determine that the software is larger than the first determination means;
  Erase means for erasing the software program selected to be erased by the erase software selection means from the storage medium.
[0011]
  According to a third invention, in the second invention,
Each time software is selected by the purchase cancellation software selection means, the total amount of data of the software excluding the software selected from the software selected by the purchase software selection means to be canceled by that time is calculated. At the same time, each time software is selected by the erase software selection means, it is assumed that the software selected to be erased by that time is erased from the storage medium. Is further provided with a total data amount / free capacity display control means for calculating and displaying.
[0012]
  As described above, according to the second to third aspects of the invention, the software already written in the storage medium can be selectively deleted, so the total data amount of the software selected for purchase is the free space of the storage medium. Even if it exceeds the limit, it is possible to purchase by deleting unnecessary written software.
[0013]
  According to a fourth invention, in the second invention,
  When it is assumed that the software selected by the erasure software selection means has been erased from the storage medium, the free space of the storage medium is excluded from the software selected by the purchase software selection means from the software selected by the purchase cancellation software selection means. A second judging means for judging whether or not the total data amount of the software is larger;
  The erasure unit erases the software program selected by the erasure software selection unit from the storage medium only when the second determination unit determines that the size is larger.
[0014]
  First5The invention of the2In the invention of
  When it is assumed that the software selected by the erasure software selection means has been erased from the storage medium, the free space of the storage medium is excluded from the software selected by the purchase software selection means from the software selected by the purchase cancellation software selection means. A second judging means for judging whether or not the total data amount of the software is larger;
  The writing control means writes the software program selected by the purchased software selecting means to the storage medium only when it is determined that the second determining means determines that it is larger.
  The erasure unit erases the software program selected by the erasure software selection unit from the storage medium only when the second determination unit determines that the size is larger.
[0015]
  As above, the fourthAccording to the fifth to fifth aspects of the invention, the free space of the storage medium in the case where it is assumed that the software selected for erasure is erased from the storage medium is the sum of the software selected for purchase. Since the software program selected for erasure is deleted from the storage medium only when the condition that the amount of data is greater than the data amount), the software is accidentally deleted even if the predetermined condition is not satisfied. Can prevent the situation.
[0016]
  First6The invention ofA system for rewriting software programs stored in a storage medium brought by a customer,
  Software storage means storing a plurality of types of software programs to be sold to customers;
  Purchased software selection means capable of selecting software to be purchased by the customer from a plurality of types of software stored in the software storage means;
  First judging means for judging whether or not the free capacity of the storage medium is larger than the total data amount of the software selected by the purchased software selecting means;
  A writing control means for sequentially writing the selected software program to the storage medium only when it is judged that the first judgment means is larger;
  Erasure software selection means for causing a customer to select software to be erased from software written in a storage medium when the first determination means does not determine that the software is larger than the first determination means;
  Erasing means for erasing the software program selected by the erasing software selecting means from the storage medium is provided.
[0017]
  As above,6According to the invention ofOnly the software can be sold by rewriting the software program stored in the storage medium brought by the customer. Even if a software program has already been written to the storage medium, the selected software program should be written only when the free space is larger than the total data amount of the selected software. Therefore, it is possible to prevent an already written program from being overwritten and destroyed. Furthermore, when the free capacity of the storage medium is smaller than the total data amount of the selected software, the software in the recording medium can be selectively deleted, and convenience can be improved.
[0018]
  First7The invention of the6In the invention of
  When it is assumed that the software selected by the erasure software selection means is erased from the storage medium, it is determined whether or not the free space of the storage medium is larger than the total data amount of the software selected by the purchased software selection means. 2 further comprises a judgment means,
  The erasure unit erases the software program selected by the erasure software selection unit from the storage medium only when the second determination unit determines that the size is larger.
[0019]
  In an eighth aspect based on the sixth aspect,
  When it is assumed that the software selected by the erasure software selection means is erased from the storage medium, it is determined whether or not the free space of the storage medium is larger than the total data amount of the software selected by the purchased software selection means. 2 further comprises a judgment means,
  The writing control means writes the software program selected by the purchased software selecting means to the storage medium only when it is determined that the second determining means determines that it is larger.
  The erasure unit erases the software program selected by the erasure software selection unit from the storage medium only when the second determination unit determines that the size is larger.
[0020]
  As described above, according to the seventh to eighth inventions, the free space of the storage medium when the software selected for erasure is erased from the storage medium is determined for purchase. Since the software program selected for erasure is deleted from the storage medium only when the condition that the total data amount of the selected software is larger is satisfied, the predetermined condition is not satisfied. Can prevent accidental software erasure.
[0021]
  In the ninth invention, in the first or second invention, every time software is selected by the purchased software selecting means, the total data amount display for calculating and displaying the total data amount of the software selected up to that time is displayed. Control means is further provided.
[0022]
  First10The invention of the2 or 6In the invention ofEach time software is selected by the erasing software selection means, a free space for calculating and displaying the free space of the storage medium when it is assumed that the software selected to be erased by that time is erased from the storage medium. Capacity display control means is further provided.
[0023]
  As described above, according to the ninth to tenth inventions, the total data amount of the software selected up to that point and the storage when it is assumed that the software selected for erasure is erased from the storage medium. You can easily check the free space on the media, so you don't have to select more software than you want to erase..
[0024]
  First1The invention ofThis is a recording medium that records a software rewriting program that is executed by a computer of a computer system that stores a plurality of types of software to be sold to a customer and rewrites the software program stored in a storage medium brought by the customer. The software rewriting program causes a computer of the computer system to execute a determination step, a writing control step, a purchase cancellation software selection step, and a selection cancellation step. In the determination step, a plurality of pieces of software purchased by the customer are selected from a plurality of types of software, and it is determined whether or not the free capacity of the storage medium is larger than the total data amount of the selected pieces of software. The write control step starts a process of sequentially writing all the selected software programs to the storage medium only when it is determined to be large in the determination step. In the purchase cancellation software selection step, if it is not determined that the purchase cancellation software is large, the purchase cancellation software selection step causes the software to be canceled to be selected from the software selected in the purchase software selection step. The selection cancellation step cancels the selection of the software selected in the purchase cancellation software selection step that the purchase selection should be canceled.
[0025]
  First2Invention of multiple types of software sold to customersIs a recording medium that records a software rewriting program that is executed by a computer of a computer system that rewrites the software program stored in the storage medium brought by the customer. The software rewrite program causes the computer to execute a determination step, a write control step, an erase software selection step, and an erase step. In the determination step, a plurality of pieces of software purchased by the customer are selected from a plurality of types of software, and it is determined whether or not the free capacity of the storage medium is larger than the total data amount of the selected pieces of software. In the write control step, the selected software program is sequentially written to the storage medium only when it is determined that the determination step is large. In the erase software selection step, if it is not determined that the size is large in the determination step, the software to be erased is selected from the software written in the storage medium by the customer. In the erasing step, the software program selected in the erasing software selection step is erased from the storage medium.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing a first configuration example of a software rewriting system according to an embodiment of the present invention. In FIG. 1, the software rewriting system of this embodiment includes a cassette writer 20 for writing a game program to a set game cassette 10 and an in-store terminal 30 for operating the cassette writer 20.
[0027]
The cassette writer 20 includes a CPU 21, a CD-ROM drive 22, a RAM 23, a flash memory 24, an ASIC 25, and a connector 26. A CD-ROM drive 22, a RAM 23, a flash memory 24, and an ASIC 25 are connected to the CPU 21. The connector 26 is connected to the ASIC 25. The connector 11 in the game cassette 10 is detachably attached to the connector 26. Thereby, the game cassette 10 and the cassette writer 20 are electrically connected. The in-store terminal 30 is directly connected to the internal bus 27 of the cassette writer 20, and is connected to the CPU 21 via the internal bus 27.
[0028]
The CD-ROM drive 22 reads data from the set CD-ROM 40 and gives it to the CPU 21. As will be described later, this data includes a writing control program, a game selection program, a game program, and related information. The CPU 21 executes an operation according to the above write control program. The RAM 23 stores a game program and related information read from the CD-ROM 22 and data necessary for the arithmetic processing of the CPU 21. The flash memory 24 stores a write control program read from the CD-ROM drive 22. The ASIC 25 controls writing and reading of data with respect to the game cassette 10 in accordance with instructions from the CPU 21. That is, the ASIC 25 functions as an input / output interface for the game cassette 10 and has a function of selecting a memory block of a memory (flash memory 12 and SRAM 13 in FIG. 3 described later) in the game cassette 10.
[0029]
Note that the in-store terminal 30 may be connected to the CPU 21 via a LAN cable 29 and a LAN board 28 as shown in FIG. Further, the CPU 21 may be configured to work with an electronic cash register 50 connected via the LAN cable 29 and the LAN board 28.
The system configuration of FIG. 1 has a short physical distance between the cassette writer 20 and the in-store terminal 30, but the in-store terminal 30 is installed at a position away from the cassette writer 20 in the system configuration of FIG. 2. The system configuration of FIG. 1 is suitable for a store in which a store clerk who has heard an order from a customer operates the terminal 30 in the store. On the other hand, the system configuration of FIG. 2 is suitable for a store in which the customer himself operates the in-store terminal 30 and orders a necessary game program.
[0030]
FIG. 3 is a block diagram showing a detailed configuration of the game cassette 10 shown in FIG. 1 and the game machine 60 to which the game cassette 10 is connected. Referring to FIG. 3, game cassette 10 includes a connector 11, a flash memory 12, an SRAM 13, a memory controller 14, a backup IC 15, a backup battery 16, and a check IC 17. The flash memory 12 and the SRAM 13 are connected to the connector 11 via the data bus DB1 and to the memory controller 14 via the address bus AB1. The memory controller 14 is connected to the connector 11 via the address bus AB2. The check IC 17 is connected to the connector 11.
[0031]
As is well known, the flash memory is a rewritable nonvolatile memory and is small and has a large capacity. In the present embodiment, the flash memory 12 has a capacity of 32 Mbits as an example, and is used to store a game program as described later, and is divided into 8 blocks in units of 4 Mbits. The SRAM 13 is a static RAM that retains stored contents as long as power is supplied. In the present embodiment, the SRAM 13 has a capacity of 256 kbits as an example, and stores backup data (game stage, acquired items, grown character data, etc.) for the game as will be described later. Is divided into 16 blocks in units of 16 kbits.
[0032]
The memory controller 14 has a function of converting an address given from the cassette writer 20 or the game machine 60 via the address bus AB2 into an address suitable for the memory arrangement in the flash memory 12 and the SRAM 13. The backup IC 15 has a function of stably supplying power to the SRAM 13 and a function of protecting the SRAM 13 from undesired erroneous writing. The backup IC 15 is supplied with power from a backup battery 16 built in the game cassette 10. Although the backup IC 15 is not shown, when the game cassette 10 is set in the cassette writer 20 or the game machine 60, the cassette writer 20 or the game machine 60 is supplied with a power source (direct current obtained by stepping down the commercial power source and smoothing it. Power supply). The backup IC 15 supplies power from the backup battery 16 to the SRAM 13 when the game cassette 10 is removed from the cassette writer 20 or the game machine 60. Further, the backup IC 15 supplies power from the cassette writer 20 or the game machine 60 to the SRAM 13 when the game cassette 10 is set in the cassette writer 20 or the game machine 60.
[0033]
The flash memory 12 and the SRAM 13 are switched in a complementary manner by a chip select signal CE1 output from the memory controller 14 and a chip select signal CE2 output from the backup IC 15. That is, when one of the flash memory 12 and the SRAM 13 is selected, the other is not selected. This is because data and an address are supplied to the flash memory 12 and the SRAM 13 via a common data bus and address bus, but only access of the memory chip corresponding to the supplied address is permitted. . The chip select signal CE2 is generated by the backup IC 15 based on the 1-bit decode signal DS output from the memory controller 14. In particular, when the game cassette 10 is set in the cassette writer 20 or the game machine 60 and the power of the cassette writer 20 or the game machine 60 is turned on, the address bus AB1 has a transient characteristic when the power is turned on. Depending on the noise, there is a risk of noise mixing. If this noise coincides with any address in the SRAM 13, undesired writing is performed at the corresponding address in the SRAM 13. Therefore, the backup IC 15 monitors the voltage value of the power supplied from the cassette writer 20 or the game machine 60, and when the power is turned on, the chip select until the voltage value settles to a predetermined value (about 4.5V). The signal CE2 is not supplied to the SRAM 13. This can prevent undesired erroneous writing when the power is turned on.
[0034]
In addition, among the address bus AB <b> 1 given from the memory controller 14 to the flash memory 12, the upper 3 bits are used to designate one of the blocks divided into eight of the flash memory 12. Similarly, the upper 4 bits of the address bus AB1 provided from the memory controller 14 to the SRAM 13 are used to designate one of 16 blocks of the SRAM 13.
[0035]
The game machine 60 includes a CPU 61, a PPU (Picture Processing Unit) 62, a working RAM 63, a video RAM 64, an I / O interface 65, a connector 66, and a check IC 67. A connector 66 is connected to the CPU 61 via the data bus DB3 and the address bus AB3, a PPU 62 is connected via the data bus DB4 and the address bus AB4, and a working RAM 63 is connected via the data bus DB5 and the address bus AB5. The Furthermore, a controller 70 is connected to the CPU 61 via the I / O interface 65. The video RAM 64 is connected to the PPU 62 via the data bus DB6 and the address bus AB6. The output of the PPU 62 is given to the television receiver 80. The check IC 67 is connected to the connector 66.
[0036]
When enjoying the game, the connector 11 of the game cassette 10 is inserted into the connector 66 of the game machine 60. As a result, the flash memory 12 and the SRAM 13 are under the control of the CPU 61. Then, the CPU 61 reads a game program from the flash memory 12 and starts a game operation. If necessary, backup data corresponding to the game is read from the SRAM 13 and parameters for game operation are set. The controller 70 is operated by the player and gives various instructions and commands to the CPU 61. The working RAM 63 stores various data necessary for the arithmetic processing of the CPU 61. The PPU 62 generates display data from the character data stored in the video RAM 64 based on a command from the CPU 61. This display data is given to the television receiver 80 and displayed. Thus, by providing the PPU 62, the CPU 61 is released from the display data generation process and can perform the original game operation at high speed.
[0037]
When the connector 11 is inserted into the connector 66, the check IC 67 performs a predetermined authentication process with the check IC 17. When the authentication result is appropriate, the check IC 17 outputs a reset release signal / RS. This reset release signal / RS is given to the memory controller 14. In response, the memory controller 14 cancels the reset signal RS supplied to the CPU 61 via the connector 11 and the connector 66. On the other hand, if the authentication result is inappropriate, the memory controller 14 does not cancel the reset of the CPU 61. At this time, the CPU 61 does not start the game program. This can eliminate the use of illegally sold game cassettes.
[0038]
FIG. 4 is a diagram showing a memory map of the flash memory 12 and the SRAM 13 shown in FIG. In FIG. 4, the flash memory 12 includes, as data storage areas, a main area 121 for storing game selection programs and game programs, and a related information storage area 122 for storing game related information. The main area 121 has a storage capacity of 32 Mbits and is divided into 8 blocks in units of 4 Mbits. The main area 121 stores a game selection program and a game program in units of blocks. Since one of the blocks is used for storing a game selection program, the main area 121 can store a maximum of seven types of game programs (provided that each game program is 4 Mbit or less). When storing a game program of 4 Mbit or more, a plurality of blocks are used.
[0039]
The SRAM 13 has a storage capacity of 256 kbits and is divided into 16 blocks in units of 16 kbits. The SRAM 13 stores backup data for the game program written in the main area 121.
[0040]
FIG. 5 is a diagram showing a memory map of the related information storage area 122 in FIG. In FIG. 5, the related information storage area 122 has a different address space from the address space of the main area 121, and is a memory area that can be accessed only when a special command is given. The related information storage area 122 includes areas 122 a to 122 g for storing related information specific to the game selection program and the game program stored in the main area 121 of the flash memory 12. The area 122a is the game title, the area 122b is the map information, the area 122c is the capacity of the flash memory (the capacity necessary for storing the program in the main storage area 121), and the area 122d is the capacity of the SRAM (the corresponding backup data is stored in the SRAM 13). Area 122e is the flash memory block number (the number of the main memory area 121 storing the program), and area 122f is the SRAM block number (the corresponding backup data is stored) In the area 122g, information on the selling price of the game is stored. By the way, the CPU 61 in the game machine 60 has its own wide address space. The game program must be placed at a predetermined position in this address space. The map information indicates in which position in the address space of the CPU 61 the game program should be placed.
[0041]
FIG. 6 is a diagram for explaining the principle of rewriting and selling the game software of the present invention. For example, the flow of data when data stored in the CD-ROM 40 is written into the game cassette 10 is shown. It is a figure. In FIG. 6, the CD-ROM 40 stores a writing control program, a game selection program, a plurality of types of game programs, and related information about each game program. The related information stored in the CD-ROM 40 includes a game title, map information, a capacity to be secured in the flash memory 12 for storing the game program, a capacity to be secured in the SRAM 13 for storing the backup data, Including game sales price. The write control program stored in the CD-ROM 40 is read by the CPU 21 of the cassette writer 20 and written to the flash memory 24 in the cassette writer 20. Thereafter, the CPU 21 executes a game program write control operation for the game cassette 10 in accordance with the write control program. The game selection program, game program, and related information stored in the CD-ROM 40 are read by the CPU 21 of the cassette writer 20 and written in the RAM 23 in the cassette writer 20. The game selection program and game program written in the RAM 23 are transferred to the game cassette 10 and written in the main area 121 of the flash memory 12. The related information written in the RAM 23 is transferred to the game cassette 10 and written in the related information storage area 122 of the flash memory 12. The game selection program is executed by the CPU 61 of the game machine 60 when the game cassette 10 is set in the game machine 60, and is used to select one game from a plurality of games.
[0042]
Here, the relationship among the capacities of one game program, the flash memory 12 and the CD-ROM 40 storing the master data will be described. For example, the flash memory 12 having a capacity of 32 Mbit is used. The data amount of one game program is an integer multiple of 4 Mbit, for example, 4 Mbit, 8 Mbit, 12 Mbit, 16 Mbit, 20 Mbit, 24 Mbit, 28 Mbit, 32 Mbit if the capacity of the flash memory 12 is 32 Mbit. One game program is set to be equal to or less than the capacity of the flash memory 12. Therefore, the flash memory 12 can store a maximum of 7 types of 4 Mbit game programs and a 4 Mbit game selection program. For example, if one game program is 8 Mbit, three types of game software and a 4 Mbit game selection program can be stored. In addition, when a 32 Mbit game program is stored, a game selection program is not required.
On the other hand, the CD-ROM 40 has a capacity of several hundred Mbytes. Accordingly, since the capacity of the CD-ROM 40 is very large compared to the capacity of the flash memory 12 and the capacity of one game program, many types of game programs can be stored. The CD-ROM 40 only needs to have a capacity capable of storing at least seven types of 4 Mbit game programs and a 4 Mbit game selection program.
[0043]
FIG. 7 is a diagram showing a data flow when the game program written in the flash memory 12 of the game cassette 10 is rewritten. Here, as an example, in the flash memory 12 in which the programs of the games 1 to 4 are written, the programs of the games 1 and 3 are left, the programs of the games 2 and 4 are deleted, and a new game 5 The flow of data when writing a program is shown. In FIG. 7, the CPU 21 of the cassette writer 20 reads all the data written in the flash memory 12 and develops it on the RAM 23. Thereafter, when the games 2 and 4 are selected for erasure in the cassette writer 20, the CPU 21 erases the programs of the games 2 and 4 from the RAM 23. When the cassette writer 20 selects the game 5 for purchase, the CPU 21 reads the game 5 program from the CD-ROM 40 and stores it in the RAM 23. Thereafter, the CPU 21 reads out the game selection program and the games 1, 3 and 5 remaining in the RAM 23 and transfers them to the game cassette 10. As a result, the game selection program and the games 1, 3 and 5 are written in the flash memory 12 of the game cassette 10.
[0044]
The related information corresponding to the remaining games 1 and 3 and the newly written related information of the game 5 are written in the related information storage area 122 of the flash memory 12. For details, see the description of FIG. This is easy to understand and will be omitted here.
[0045]
As described above, in this embodiment, when the game program written in the flash memory 12 of the game cassette 10 is rewritten, all data written in the flash memory 12 is once read into the RAM 23 and the game program is read out on the RAM 23. Since the data is written into the flash memory 12 after the arrangement and rearrangement, the game program can be written efficiently. In FIG. 7, all the programs in the flash memory 12 are rewritten, but the programs whose storage positions (block numbers) in the flash memory 12 are not changed, that is, the game selection program and the game 1 program are rewritten. You may make it not.
[0046]
8 to 13 are diagrams showing examples of operation screens displayed on the in-store terminal 30 connected to the cassette writer 20. More specifically, FIGS. 8 and 9 show game selection screens. 8 shows a screen before selecting a game to be purchased, and FIG. 9 shows a screen after selecting a game to be purchased. 10 to 12 show game deletion screens. 10 shows the screen in a writable state before designating a game program to be erased and / or canceled, and FIG. 11 shows before designating a game program to be erased and / or canceled. FIG. 12 shows the screen after the designation of the game program to be erased and / or canceled is completed. FIG. 13 is a diagram showing a menu screen displayed before the game is started on the television receiver 80 connected to the game machine 60.
[0047]
14 to 16 are flowcharts showing the operation of the cassette writer 1 according to the write control program. FIG. 17 is a flowchart showing the operation of the game machine 60. The operation of the above embodiment will be described below with reference to FIGS.
[0048]
First, the operation of the cassette writer 1 shown in FIGS. 14 to 16 will be described. When the power is turned on, the CPU 21 determines whether or not to upgrade the write control program in the flash memory 24 (step S101). If the write control program is not stored in the flash memory 24 or if the version of the write control program stored in the CD-ROM 40 is newer than the version of the write control program stored in the flash memory 24 It is determined that the embedded control program should be upgraded. When the version of the write control program is to be upgraded, the CPU 21 reads the write control program from the CD-ROM 40 using the CD-ROM driver 22, and the read write control program is flashed as shown in FIG. Download to the memory 24 (step S102). The CD-ROM 40 is supplied to a store on a regular basis (for example, every month) so that new software can always be sold. Therefore, if the writing control program is stored in the CD-ROM 40 and the software processing of the cassette writer 20 is automatically upgraded based on the stored writing control program, the dealer side You can free yourself from troublesome version upgrades and concentrate on your in-store work.
[0049]
When the download of the write control program is completed, the CPU 21 activates the write control program (step S103). Thereafter, the CPU 21 operates according to the write control program. Next, the CPU 21 reads data (game title, capacity and selling price) necessary for display of the game selection screen from the CD-ROM 40, and writes it in the working area of the RAM 23 as shown in FIG. 6 (step S104). Next, the CPU 21 displays a game selection screen as shown in FIG. 8 on the in-store terminal 30 (step S105). This game selection screen includes a sales game list 301, page update buttons 302 and 303, a purchased game list 304, and total capacity display portions 305 and 306. In the sales game list 301, the title, capacity and price of the game to be sold are displayed according to the title, capacity and price of the game written in the RAM 23 in step S104. When there are many types of games to be sold, it is difficult to display the entire sales game list on one screen, but by selecting the page update button 302 or 303 on the screen, the sales game list display page is displayed. Can be updated in the front-rear direction, so that all types of games included in the sales game list can be viewed. In addition, as a method of selecting a button, a method of providing a touch panel on the display screen and pressing the corresponding button with a finger may be used, or the cursor is moved to the corresponding button with a pointing device such as a mouse and clicked. It may be a simple method. Various selection operations at the in-store terminal 30 described below are also performed in the same manner as described above. At this time, since no game to be purchased is selected, no information is displayed in the purchased game list 304 and the total capacity display sections 305 and 306. The purchase decision button 307 is a button that is selected when selection of a game to be purchased is completed.
[0050]
Next, the CPU 21 determines whether or not the game cassette 10 is set (mounted) on the connector 26 (step S106). When the game cassette 10 is set, the CPU 21 calculates the free capacity of the flash memory 12 and the SRAM 13 (hereinafter referred to as “game cassette free capacity”) based on the related information stored in the related information storage area 122 and The related information stored in the information storage area 122 is read (step S107). The game cassette free space and the read data calculated at this time are temporarily stored in the RAM 23 (see FIG. 7).
[0051]
Next, the store clerk or customer (a store clerk in the case of the system configuration of FIG. 1 and a customer in the case of the system configuration of FIG. 2) operates the in-store terminal 30 and selects a game to be purchased from the sales game list (step). S108). In response, the CPU 21 temporarily stores the title, capacity, and price of the game selected for purchase in the RAM 23 (step S109). At this time, as shown in FIG. 9, the in-store terminal 30 displays the title, capacity, and price of the selected game in the purchased game list 304. Next, the CPU 21 calculates the total capacity of the games selected up to that point (hereinafter referred to as the selected game total capacity) (step S110). The calculated selected game total capacity is displayed on the total capacity display sections 305 and 306 in FIG. The total capacity display unit 305 displays the capacity of the flash memory 12 necessary for writing in units of blocks, and the total capacity display unit 306 displays the capacity of the SRAM 13 required for writing in units of blocks. Next, the CPU 21 determines whether or not the selection of the game to be purchased is completed (step S111). When the store clerk or the customer selects the purchase determination button 307 in FIG. 9, it is determined that the selection of the game to be purchased is completed. If the game selection has not ended, the operations of steps S108 to S110 are repeated again.
[0052]
On the other hand, when the selection of the game is completed, the CPU 21 determines whether or not the selected game total capacity calculated in step S110 is equal to or less than the game cassette free capacity calculated in step S107 (step S112). ). When the selected game total capacity is equal to or less than the game cassette free capacity, the CPU 21 causes the in-store terminal 30 to display a game deletion screen as shown in FIG. On the other hand, when the selected game total capacity exceeds the game cassette free capacity, the CPU 21 causes the in-store terminal 30 to display a game deletion screen as shown in FIG.
[0053]
As shown in FIGS. 10 and 11, the game deletion screen includes an in-cassette game list 308, free space display sections 309 and 310, a purchased game list 304, total capacity display sections 305 and 306, and a writable button. 311, an all in cassette erase button 312, and a screen return button 313. In the in-cassette game list 308, a list of games stored in the game cassette 10 is displayed. In addition, the free capacity display unit 309 displays the free capacity of the flash memory 12. The free capacity display unit 310 displays the free capacity of the SRAM 13. The display contents of the in-cassette game list 308 and the free space display sections 309 and 310 are determined based on the data stored in the RAM 23 in step S107 described above. The writable button 311 is selected when an instruction to write the game program listed in the purchase game list 304 to the game cassette 10 is given. Here, comparing FIG. 10 and FIG. 11, the writable button 311 is selectable in the game deletion screen of FIG. 10, whereas the writable button 311 is selected in the game deletion screen of FIG. Cannot be selected. This is because, in the state shown in FIG. 11, the selected game total capacity exceeds the free space of the game cassette, so that a game program write instruction is prohibited. The in-cassette all deletion button 312 is selected when erasing all the game programs stored in the game cassette 10 collectively. The screen return button 313 is selected when returning the game deletion screen to the game selection screen shown in FIG.
[0054]
When the selected game total capacity is equal to or less than the free capacity of the flash memory 12 and the SRAM 13, the CPU 21 determines whether the store clerk or the customer has selected the writable button 311 or the screen return button 313 (step S113). When the screen return button 313 is selected, the operations in steps S108 to S112 are repeated again. That is, in the repeated operation of steps S108 to S112, a game to be purchased is added or changed. On the other hand, when the writable button 311 is selected, as shown in FIGS. 6 and 7, the CPU 21 stores the program of the game selected for purchase, the game selection program, and related information in the CD-ROM 40. And / or all data (game program, backup data) stored in the flash memory 12 and the SRAM 13 in the game cassette 10 are read and stored in the RAM 23 (step S114).
[0055]
In the above-described step S112, when the selected game total capacity exceeds the free game cassette capacity, it is necessary to delete the game program stored in the game cassette 10 or cancel the game selected for purchase. Accordingly, the store clerk or customer selects a game to be deleted from the in-cassette game list 308 and / or selects a game to cancel the purchase from the purchase game list 304 on the game deletion screen shown in FIG. Details of the subsequent operation are shown in FIG.
[0056]
In FIG. 16, the CPU 21 determines whether cancellation of the game to be purchased is selected or deletion of the game program is selected (steps S115 and S116). When the cancellation of the game is selected, the CPU 21 performs a cancellation process for the selected game (step S117). As a result, in the purchased game list 304 on the game deletion screen, as shown in FIG. 12, a cancellation display is made for the game for which cancellation has been selected. If the deletion of the game program is selected, the CPU 21 sets an unillustrated deletion flag (step S118). At this time, in the in-cassette game list 308 of the game deletion screen, as shown in FIG. 12, deletion display is performed for the game for which deletion has been selected.
[0057]
After step S117 or S118, the CPU 21 recalculates the selected game total capacity and the game cassette free capacity (step S119). The recalculation result at this time is reflected in the total capacity display sections 305 and 306 and the free capacity display sections 309 and 310 as shown in FIG. Here, the customer may reconsider not to delete the game program in the game cassette 10. In such a case, the store clerk or the customer cancels the deletion of the game program by reselecting the game whose deletion is selected in the in-cassette game list 308. The CPU 21 determines whether or not such deletion has been canceled (step S120). If the erasure is canceled, the CPU 21 resets the erasure flag set in step S118 described above (step S121), and then proceeds to step S122. On the other hand, if the erasure has not been canceled, the CPU 21 proceeds to step S122 without resetting the erasure flag.
[0058]
In step S122, the CPU 21 determines whether or not the recalculated selected game total capacity is equal to or less than the recalculated free capacity of the flash memory 12 or the SRAM 13. When the selected game total capacity exceeds these free capacities, the operations of steps S115 to S121 are repeated again. That is, a game to be canceled and / or deleted is added or changed until the selected game total capacity becomes equal to or less than the free capacity of the flash memory 12 or the SRAM 13. When the selected game total capacity becomes equal to or less than the free capacity, the CPU 21 determines whether the store clerk or the customer has selected the writable button 311 or the screen return button 313 (step S123). When the screen return button 313 is selected, the operation returns to the operation of step S108 again. That is, a process for adding or changing a game to be purchased is performed. On the other hand, when the writable button 311 is selected, the CPU 21 reads out the program of the game selected for purchase, the game selection program, and related information from the CD-ROM 40 and flashes in the game cassette 10. All data (game program and backup data) stored in the memory 12 and the SRAM 13 are read out and stored in the RAM 23 (step S124). Next, the CPU 21 determines whether or not an erase flag is set (step S125). When the erase flag is set, the CPU 21 performs an erase process (step S126). In this erasure process, the game program selected for erasure, backup data, and related information are erased from the data of the game cassette 10 stored in the RAM 23 in step S107 described above (see FIG. 7). When the erasure flag is reset or after the erasure process in step S125 is completed, the CPU 21 proceeds to step S127 described later.
[0059]
Next, the CPU 21 starts writing the program to the game cassette 10 (see FIGS. 6, 7 and 15). First, the CPU 21 designates the head block of the flash memory 12 (step S127). Next, the CPU 21 stores a game program to be written in the flash memory 12 (a game program selected for purchase and a game program originally stored in the game cassette 10 and not erased) in the flash memory. It is determined whether or not the game program uses all the eight blocks (for 32 Mbits) (hereinafter referred to as a full size game program) (step S128). If the game program to be written is not a full-size game program, the CPU 21 reads the game selection program (the game selection program read from the CD-ROM 40) from the RAM 23 and writes it in the first block of the main area 121 of the flash memory 12 (step S129). . On the other hand, when the game program to be written is a full-size game program, it is not necessary to select a game later in the game machine 60, and therefore the CPU 21 does not write the game selection program in the flash memory 12. As a result, when the capacity of the game program is large, writing can be performed using the capacity of the flash memory 12 to the maximum.
[0060]
After step S129 or after determining that the game program to be written in step S127 is a full-size game program, the CPU 21 reads the game program from the RAM 23 and writes it in the main area 121 of the flash memory 12 (step S130). ). At this time, if the game program to be written is a full-size game program, writing starts from the first block of the main area 121 of the flash memory 12, and if the game program to be written is not a full-size game program, Writing starts from the second block of the main area 121. Next, the CPU 21 determines whether or not there are two or more game programs to be written to the flash memory 12 in the RAM 23 (step S131). When there are two or more game programs to be written, the CPU 21 designates the next block of the main area 121 of the flash memory 12 (block to start writing the next game program) (step S132). Thereafter, the CPU 21 determines whether or not the writing of the game program has been completed (step S133). On the other hand, if there is one game program to be written and it is not a full-size game program, the CPU 21 performs the determination in step S133 without designating the next block. If the game program has not been written, the CPU 21 repeats the operations in step S130 and subsequent steps. As a result, the game programs stored in the RAM 23 are sequentially written in the main area 121 of the flash memory 12. On the other hand, when the writing of the game program is completed, the CPU 21 writes the backup data stored in the RAM 23 to the SRAM 13 and writes related information to the related information storage area 122 of the flash memory 12 (step S134). Thereafter, the CPU 21 returns to the operation of step S106 in FIG.
[0061]
Next, with reference to FIG. 17, an operation when the game machine 60 executes the game program stored in the game cassette 10 will be described. When the game cassette 10 is set to the connector 66 of the game machine 60 and the power of the game machine 60 is turned on, the memory controller 14 in the game cassette 10 generates a reset signal RS, and the reset signal RS is sent to the connector 11 and It is supplied to the CPU 61 in the game machine 60 via 66. As a result, the CPU 61 is placed in an operation stop state.
[0062]
Thereafter, the memory controller 14 reads the related information from the related information storage area 122 of the flash memory 12 and temporarily stores it, and sets the address conversion parameter based on the map information included in the related information (step S201). ). At this time, the CPU 61 is still in an operation stop state. As described above, the game program must be arranged at a predetermined position in the address space of the CPU 61. And this predetermined position changes with kinds of game. The address conversion parameter is used for an address conversion process for matching the address space of the CPU 61 with the address space of the flash memory 12.
[0063]
Thereafter, the check ICs 17 and 67 operate to perform authentication processing of the game cassette 10. As a result of the authentication process, when it is confirmed that the game cassette 10 is a legitimate genuine product, a reset release signal / RS is output from the check IC 17. This reset release signal / RS is given to the memory controller 14. When the reset release signal / RS is given, the memory controller 14 releases the reset signal RS supplied to the CPU 61 via the connectors 11 and 66. As a result, the CPU 61 starts its operation, and first reads a program (game program or game selection program) from the top block of the main area 121 of the flash memory 12.
[0064]
When the game program stored in the flash memory 12 is a full size game program, the program read from the top block is a full size game program. On the other hand, when the game program stored in the flash memory 12 is not a full size game program, the program read from the top block is a game selection program. When the CPU 61 finishes reading the program from the top block, the CPU 61 determines whether the read program is a full-size game program or a game selection program (step S202).
[0065]
First, the operation when a full-size game program is read from the top block will be described. In this case, the CPU 61 reads out the full size game program from the main area 121 of the flash memory 12 in block order, and executes the game process according to the read full size game program (step S203). Next, the CPU 61 determines whether or not the game is over (step S204). Until the game is over, the game process in step S203 is continuously executed. When the game ends, the CPU 61 executes a predetermined end process (step S205). In this termination process, for example, backup data is stored in the SRAM 13. Next, the CPU 61 determines whether or not there is a reset request from the player (that is, whether or not the player has pressed a reset button (not shown) of the game machine 60) (step S206). If there is a reset request, the CPU 61 repeats the operations from step S203 onward. On the other hand, when there is no reset request, the CPU 61 ends the operation.
[0066]
Next, the operation when the game selection program is read from the top block will be described. In this case, the CPU 61 executes a game selection process according to the read game selection program (step S207). In this game selection process, a game selection menu as shown in FIG. 13 is displayed on the television receiver 80. The player uses the controller 70 to select a game to be played from the game selection menu. Next, the CPU 61 determines whether or not the player has finished selecting the game (step S208). When the game selection is completed, the memory controller 14 performs an address conversion process (step S209). In this address conversion process, the CPU 61 is reset again and placed in an operation stop state. Further, the memory controller 14 designates the head address of the block of the flash memory 12 in which the selected game is stored, and is set in step S201 in order to match the program arrangement position in the address space of the CPU 61 with this head address. Change the specified address translation parameter. The reason why the CPU 61 is placed in the reset state in step S209 is to prevent the CPU 61 from running away in an unstable state. Thereafter, the memory controller 14 releases the reset of the CPU 61. Thereby, the CPU 61 starts the operation and performs the operations of steps S210 to S213. Since the operations of Steps S210 to S213 are the same as the operations of Steps S203 to S206, respectively, description thereof will be omitted.
[0067]
In the above embodiment, the game cartridge 1 incorporating the flash memory is used as a storage medium to which the game program is written. Instead, the M0D (magnetic optical disk), CDR (writable compact disk), DVDR Other storage media such as a (writable digital video disk) and floppy disk may be used.
[0068]
In the above embodiment, the original data is recorded on the CD-ROM 40. However, instead of the CD-ROM 40, other large-capacity storage media such as M0D, CD, and DVD may be used. good.
[0069]
In the above-described embodiment, a system for selling a game program as software has been described. However, the present invention can also be applied to a system for selling other types of software such as an educational program and a business program.
[0070]
In the above embodiment, the game cassette 10 is configured to store the game program in the flash memory 12 and the backup data in the SRAM 13, but each data is stored in another type of memory (however, rewriting The game program and backup data may be stored in one memory.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a first configuration example of a software sales system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a second configuration example of the software sales system according to the embodiment of the present invention.
FIG. 3 is a block diagram showing a detailed configuration of the game cassette 10 shown in FIG. 1 and a game machine 60 to which the game cassette 10 is connected.
4 is a diagram showing a memory map of flash memory 12 and SRAM 13 shown in FIG. 3; FIG.
5 is a diagram showing a memory map of a related information storage area 122 in FIG. 4; FIG.
6 is a diagram showing a data flow when data stored in the CD-ROM 40 is written into the game cassette 10. FIG.
7 is a diagram showing a data flow when rewriting a game program written in the flash memory 12 of the game cassette 10. FIG.
FIG. 8 is a diagram showing a game selection screen displayed on the in-store terminal 30, and particularly shows a screen before selecting a game to be purchased.
FIG. 9 is a diagram showing a game selection screen displayed on the in-store terminal 30, and particularly shows a screen after selecting a game to be purchased.
FIG. 10 is a diagram showing a game deletion screen displayed on the in-store terminal 30, and particularly shows a screen in a writable state before designating a game program to be deleted and / or canceled.
FIG. 11 is a diagram showing a game deletion screen displayed on the in-store terminal 30, and particularly shows a screen in a state where it cannot be written before designating a game program to be deleted and / or canceled. .
FIG. 12 is a diagram showing a game deletion screen displayed on the in-store terminal 30, and particularly shows a screen after designating a game program to be deleted and / or canceled.
FIG. 13 is a diagram showing a menu screen displayed before the game is started on the television receiver 80 connected to the game machine 60;
FIG. 14 is a flowchart showing a first operation of the cassette writer 1 according to a write control program.
FIG. 15 is a flowchart showing a second operation of the cassette writer 1 according to the writing control program.
FIG. 16 is a flowchart showing a third operation of the cassette writer 1 according to the write control program.
17 is a flowchart showing the operation of the game machine 60. FIG.
[Explanation of symbols]
10 ... Game cassette
11 ... Connector
12 ... Flash memory
121 ... main area
122 ... Related information storage area
13 ... SRAM
14 ... Memory controller
15 ... Backup IC
16 ... Battery for backup
17 ... Check IC
20 ... Cassette writer
21 ... CPU
22 ... CD-ROM drive
23 ... RAM
24 ... Flash memory
25 ... ASIC
26 ... Connector
30 ... in-store terminal
40 ... CD-ROM
50 ... Electronic cash register
60 ... Game console
61 ... CPU
62 ... PPU
63 ... Working RAM
64 ... Video RAM
65 ... I / 0 interface
66 ... Connector
67 ... Check IC
70 ... Controller
80 ... Television receiver

Claims (12)

顧客が持参した記憶媒体に格納されているソフトウェアのプログラムを書き換えるシステムであって、
顧客に販売する複数種類のソフトウェアのプログラムを記憶したソフトウェア記憶手段と、
前記ソフトウェア記憶手段に記憶されている複数種類のソフトウェアの中から、顧客が購入するソフトウェアを複数選択可能な購入ソフトウェア選択手段と、
前記記憶媒体の空き容量が前記購入ソフトウェア選択手段によって選択されたすべてのソフトウェアの合計データ量よりも大きいか否かを判断する第1判断手段と
前記第1判断手段により大きいと判断された場合にのみ、当該選択されたすべてのソフトウェアのプログラムを前記記憶媒体に順次に書き込む処理を開始する書込制御手段と
前記第1判断手段により大きいと判断されなかった場合に、前記購入ソフトウェア選択手段によって選択されたソフトウェアの中から購入の選択を取り消すべきソフトウェアを選択させる購入取消ソフトウェア選択手段と、
前記購入取消ソフトウェア選択手段により購入の選択を取り消すべきことが選択されたソフトウェアの選択を取り消す選択取消手段とを備える、ソフトウェア書換システム。
A system for rewriting a software program stored in a storage medium brought by a customer,
Software storage means storing a plurality of types of software programs to be sold to customers;
From among the plurality of types of software stored in the software storage means, a plurality selectable purchase software selecting means Luso software to purchase the customer,
First judging means for judging whether or not the free capacity of the storage medium is larger than the total data amount of all software selected by the purchased software selecting means;
Only when it is determined to be larger by said first determination means, a write control means for starting the sequential writing process all software programs that the selected in the storage medium,
Purchase cancellation software selection means for selecting software to cancel purchase selection from among the software selected by the purchase software selection means when the first determination means does not determine greater than,
A software rewriting system comprising: selection cancellation means for canceling selection of software selected to be canceled by the purchase cancellation software selection means .
前記第1判断手段により大きいと判断されなかった場合に、前記記憶媒体に書き込まれているソフトウェアの中から消去すべきソフトウェアを顧客に選択させる消去ソフトウェア選択手段と、
前記消去ソフトウェア選択手段により消去すべきことが選択されたソフトウェアのプログラムを前記記憶媒体から消去する消去手段とをさらに備える、請求項1に記載のソフトウェア書換システム。
Erasure software selection means for causing a customer to select software to be erased from software written in the storage medium when the first determination means does not determine that the software is larger than the first determination means;
2. The software rewriting system according to claim 1 , further comprising an erasing unit that erases a program of software selected to be erased by the erasing software selecting unit from the storage medium .
前記購入取消ソフトウェア選択手段によってソフトウェアが選択される毎に、前記購入ソフトウェア選択手段によって選択されたソフトウェアからそのときまでに購入の選択を取り消すべきことが選択されたソフトウェアを除いたソフトウェアの合計データ量を計算して表示し、同時に、前記消去ソフトウェア選択手段によってソフトウェアが選択される毎に、そのときまでに消去すべきことが選択されたソフトウェアを前記記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量を計算して表示する合計データ量・空き容量表示制御手段をさらに備える、請求項2に記載のソフトウェア書換システム。 Each time software is selected by the purchase cancellation software selection means , the total amount of software data excluding the software selected by the purchase software selection means to be canceled at that time. At the same time, each time software is selected by the erasure software selection means, the storage in the case where it is assumed that the software selected to be erased by that time is erased from the storage medium. 3. The software rewriting system according to claim 2, further comprising a total data amount / free space display control means for calculating and displaying the free space of the medium . 前記消去ソフトウェア選択手段によって選択されたソフトウェアを前記記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量が前記購入ソフトウェア選択手段によって選択されたソフトウェアから前記購入取消ソフトウェア選択手段によって選択されたソフトウェアを除いたソフトウェアの合計データ量よりも大きいか否かを判断する第2判断手段をさらに備え、
前記消去手段は、前記第2判断手段により大きいと判断された場合にのみ、前記消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを前記記憶媒体から消去する、請求項2に記載のソフトウェア書換システム。
When it is assumed that the software selected by the erased software selection unit is erased from the storage medium, the free space of the storage medium is selected by the purchase cancellation software selection unit from the software selected by the purchased software selection unit A second judging means for judging whether or not the total data amount of the software excluding the software is larger;
3. The software rewriting system according to claim 2, wherein the erasure unit erases the software program selected by the erasure software selection unit from the storage medium only when the second determination unit determines that the erasure unit is larger .
前記消去ソフトウェア選択手段によって選択されたソフトウェアを前記記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量が前記購入ソフトウェア選択手段によって選択されたソフトウェアから前記購入取消ソフトウェア選択手段によって選択されたソフトウェアを除いたソフトウェアの合計データ量よりも大きいか否かを判断する第2判断手段をさらに備え、
前記書込制御手段は、前記第2判断手段により大きいと判断された場合にのみ、前記購入ソフトウェア選択手段によって選択されたソフトウェアのプログラムを前記記憶媒体に書き込み、
前記消去手段は、前記第2判断手段により大きいと判断された場合にのみ、前記消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを前記記憶媒体から消去する、請求項2に記載のソフトウェア書換システム。
When it is assumed that the software selected by the erased software selection unit is erased from the storage medium, the free space of the storage medium is selected by the purchase cancellation software selection unit from the software selected by the purchased software selection unit A second judging means for judging whether or not the total data amount of the software excluding the software is larger;
The write control means writes the software program selected by the purchased software selection means to the storage medium only when it is determined that the second determination means is greater than
3. The software rewriting system according to claim 2, wherein the erasure unit erases the software program selected by the erasure software selection unit from the storage medium only when the second determination unit determines that the erasure unit is larger .
顧客が持参した記憶媒体に格納されているソフトウェアのプログラムSoftware programs stored in storage media brought by customers を書き換えるシステムであって、Is a system that rewrites
顧客に販売する複数種類のソフトウェアのプログラムを記憶したソフトウェア記憶手段と、Software storage means storing a plurality of types of software programs to be sold to customers;
前記ソフトウェア記憶手段に記憶されている複数種類のソフトウェアの中から、顧客が購入するソフトウェアを選択可能な購入ソフトウェア選択手段と、Purchased software selection means capable of selecting software to be purchased by a customer from a plurality of types of software stored in the software storage means;
前記記憶媒体の空き容量が前記購入ソフトウェア選択手段によって選択されたソフトウェアの合計データ量よりも大きいか否かを判断する第1判断手段と、First judging means for judging whether or not the free capacity of the storage medium is larger than the total data amount of the software selected by the purchased software selecting means;
前記第1判断手段により大きいと判断された場合にのみ、当該選択されたソフトウェアのプログラムを前記記憶媒体に順次に書き込む書込制御手段と、Write control means for sequentially writing the selected software program to the storage medium only when it is determined that the first determination means is larger than the first determination means;
前記第1判断手段により大きいと判断されなかった場合に、前記記憶媒体に書き込まれているソフトウェアの中から、消去すべきソフトウェアを顧客に選択させる消去ソフトウェア選択手段と、Erasure software selection means for causing a customer to select software to be erased from software written in the storage medium when the first determination means does not determine that the software is larger than the first determination means;
前記消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを前記記憶媒体から消去する消去手段を備える、ソフトウェア書換システム。A software rewriting system comprising erasure means for erasing a software program selected by the erasure software selection means from the storage medium.
前記消去ソフトウェア選択手段によって選択されたソフトウェアを前記記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量が前記購入ソフトウェア選択手段によって選択されたソフトウェアの合計データ量よりも大きいか否かを判断する第2判断手段をさらに備え、
前記消去手段は、前記第2判断手段により大きいと判断された場合にのみ、前記消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを前記記憶媒体から消去する、請求項6に記載のソフトウェア書換システム。
Whether or not the free space of the storage medium when the software selected by the erased software selection unit is erased from the storage medium is larger than the total data amount of the software selected by the purchased software selection unit A second judging means for judging,
7. The software rewriting system according to claim 6, wherein the erasure unit erases the software program selected by the erasure software selection unit from the storage medium only when the second determination unit determines that the erasure unit is larger .
前記消去ソフトウェア選択手段によって選択されたソフトウェアを前記記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量が前記購入ソフトウェア選択手段によって選択されたソフトウェアの合計データ量よりも大きいか否かを判断する第2判断手段をさらに備え、
前記書込制御手段は、前記第2判断手段により大きいと判断された場合にのみ、前記購入ソフトウェア選択手段によって選択されたソフトウェアのプログラムを前記記憶媒体に書き込み、
前記消去手段は、前記第2判断手段により大きいと判断された場合にのみ、前記消去ソフトウェア選択手段によって選択されたソフトウェアのプログラムを前記記憶媒体から消去する、請求項6に記載のソフトウェア書換システム。
Whether or not the free space of the storage medium when the software selected by the erased software selection unit is erased from the storage medium is larger than the total data amount of the software selected by the purchased software selection unit A second judging means for judging,
The write control means writes the software program selected by the purchased software selection means to the storage medium only when it is determined that the second determination means is greater than
7. The software rewriting system according to claim 6, wherein the erasure unit erases the software program selected by the erasure software selection unit from the storage medium only when the second determination unit determines that the erasure unit is larger .
前記購入ソフトウェア選択手段によってソフトウェアが選択される毎に、そのときまでに選択されたソフトウェアの合計データ量を計算して表示する合計データ量表示制御手段をさらに備える、請求項1または2に記載のソフトウェア書換システム。 3. The total data amount display control unit according to claim 1, further comprising: a total data amount display control unit that calculates and displays a total data amount of software selected up to that time each time software is selected by the purchased software selection unit. Software rewriting system. 前記消去ソフトウェア選択手段によってソフトウェアが選択される毎に、そのときまでに消去すべきことが選択されたソフトウェアを前記記憶媒体から消去したと仮定した場合における当該記憶媒体の空き容量を計算して表示する空き容量表示制御手段をさらに備える、請求項2または6に記載のソフトウェア書換システム。 Each time software is selected by the erasure software selection means, the free space of the storage medium is calculated and displayed when it is assumed that the software selected to be erased by that time is erased from the storage medium. The software rewriting system according to claim 2, further comprising: a free space display control means for performing 顧客に販売する複数種類のソフトウェアを記憶し、顧客が持参した記憶媒体に格納されているソフトウェアのプログラムを書き換えるコンピュータシステムのコンピュータに実行させるソフトウェア書換プログラムを記録した記録媒体であって、A recording medium storing a software rewriting program to be executed by a computer of a computer system that stores a plurality of types of software to be sold to a customer and rewrites the software program stored in the storage medium brought by the customer,
前記コンピュータシステムのコンピュータに、In the computer of the computer system,
前記複数種類のソフトウェアの中から顧客が購入する複数のソフトウェアを選択させ、前記記憶媒体の空き容量が当該選択された複数のソフトウェアの合計データ量よりも大きいか否かを判断させる判断ステップと、A determination step for selecting a plurality of software items to be purchased by a customer from the plurality of types of software, and determining whether or not a free capacity of the storage medium is larger than a total data amount of the selected plurality of softwares;
前記判断ステップにおいて大きいと判断された場合にのみ、当該選択されたすべてのソフトウェアのプログラムを前記記憶媒体に順次に書き込む処理を開始させる書込制御ステップと、A write control step of starting a process of sequentially writing all of the selected software programs to the storage medium only when it is determined that the determination step is large;
前記判断ステップにおいて大きいと判断されなかった場合に、前記購入ソフトウェアIf it is not determined that the determination step is large, the purchased software 選択ステップにおいて選択されたソフトウェアの中から購入の選択を取り消すべきソフトウェアを選択させる購入取消ソフトウェア選択ステップと、A purchase cancellation software selection step for selecting software to cancel the purchase selection from among the software selected in the selection step;
前記購入取消ソフトウェア選択ステップにおいて購入の選択を取り消すべきことが選択されたソフトウェアの選択を取り消させる選択取消ステップとを実行させるためのソフトウェア書換プログラムを記録した、コンピュータ読み取り可態な記録媒体。A computer-readable recording medium having recorded thereon a software rewriting program for executing a selection cancellation step for canceling selection of software selected to be canceled in the purchase cancellation software selection step.
顧客に販売する複数種類のソフトウェアを記憶し、顧客が持参した記憶媒体に格納されているソフトウェアのプログラムを書き換えるコンピュータシステムのコンピュータに実行させるソフトウェア書換プログラムを記録した記録媒体であって、A recording medium storing a software rewriting program to be executed by a computer of a computer system that stores a plurality of types of software to be sold to a customer and rewrites a software program stored in a storage medium brought by the customer,
前記コンピュータシステムのコンピュータに、In the computer of the computer system,
前記複数種類のソフトウェアの中から顧客が購入する複数のソフトウェアを選択させ、前記記憶媒体の空き容量が当該選択された複数のソフトウェアの合計データ量よりも大きいか否かを判断させる判断ステップと、A determination step for selecting a plurality of software purchased by a customer from the plurality of types of software, and determining whether a free capacity of the storage medium is larger than a total data amount of the selected plurality of software;
前記判断ステップにおいて大きいと判断された場合にのみ、当該選択されたソフトウェアのプログラムを前記記憶媒体に順次に書き込ませる書込制御ステップと、A write control step for sequentially writing the selected software program to the storage medium only when it is determined to be large in the determination step;
前記判断ステップにおいて大きいと判断されなかった場合に、前記記憶媒体に書き込まれているソフトウェアの中から、消去すべきソフトウェアを顧客に選択させる消去ソフトウェア選択ステップと、An erasure software selection step for allowing a customer to select software to be erased from software written in the storage medium when it is not determined to be large in the determination step;
前記消去ソフトウェア選択ステップにおいて選択されたソフトウェアのプログラムを前記記憶媒体から消去させる消去ステップとを実行させるためのソフトウェア書換プログラムを記録した、コンピュータ読み取り可態な記録媒体。A computer-readable recording medium having recorded thereon a software rewriting program for executing an erasing step for erasing the software program selected in the erasing software selecting step from the storage medium.
JP25108597A 1997-09-16 1997-09-16 Software rewriting system Expired - Fee Related JP3827419B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25108597A JP3827419B2 (en) 1997-09-16 1997-09-16 Software rewriting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25108597A JP3827419B2 (en) 1997-09-16 1997-09-16 Software rewriting system

Publications (2)

Publication Number Publication Date
JPH1196051A JPH1196051A (en) 1999-04-09
JP3827419B2 true JP3827419B2 (en) 2006-09-27

Family

ID=17217424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25108597A Expired - Fee Related JP3827419B2 (en) 1997-09-16 1997-09-16 Software rewriting system

Country Status (1)

Country Link
JP (1) JP3827419B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4506064B2 (en) * 2001-09-26 2010-07-21 ブラザー工業株式会社 Display device, display method, and computer program
JP2004223267A (en) * 2004-02-09 2004-08-12 Sony Corp Memory card, portable information terminal device, information processing method, recording medium, and program
JP4826765B2 (en) * 2006-06-23 2011-11-30 セイコーエプソン株式会社 Recording device, recording control program
US10953323B2 (en) 2008-11-17 2021-03-23 Sony Interactive Entertainment Inc. Radio communication terminal, method for controlling the same, and information storage medium
EP2869145B1 (en) * 2013-10-29 2016-04-27 dSPACE digital signal processing and control engineering GmbH Method for influencing a control program of a control unit

Also Published As

Publication number Publication date
JPH1196051A (en) 1999-04-09

Similar Documents

Publication Publication Date Title
KR101157433B1 (en) Delivery of a message to a user of a portable data storage device as a condition of its use
CN101390050B (en) Apparatus and method for selectively allocating software resources by subtractive installation
TWI431528B (en) Apparatus and method for selectively dispensing soft assets via subtractive installation
JP4211101B2 (en) Information processing apparatus and method, and recording medium
JP2000194638A (en) Digital content unauthorized use prevention method, system for implementing the method, and medium recording processing program for the method
JP4524523B2 (en) Storage medium, download method, and terminal device
EP0817014A2 (en) Software distribution medium and method of producing the medium
JP3827419B2 (en) Software rewriting system
EP0681298A2 (en) Game programmed flash memory cartridge
JP3618204B2 (en) Software rewriting system
US6233664B1 (en) Apparatus and method for swapping contents between main memory and auxiliary memory and web video phone adopting the apparatus
WO2001031437A1 (en) Program management method for storage medium-mounted computer, computer, and storage medium
WO2000057271A1 (en) Apparatus for assisting in writing graphical user interface program, and write-assisting method, and recording medium on which write-assisting program is recorded
JP2595817B2 (en) Method of controlling information in secondary storage device and electronic apparatus having secondary storage device
EP1261203A2 (en) Portable device
EP1111616A2 (en) Recording medium and information processing device for managing read-in information
JPH09115246A (en) Information recording method, information recording apparatus, and recording medium
KR100375651B1 (en) Operator&#39;s input processing unit and method thereof
JP4300759B2 (en) Recording medium, information processing apparatus, and method of using recording medium
JP4493715B2 (en) Content storage medium creation method, computer program, and content providing system
JPH0830451A (en) Software control method
JP5786929B2 (en) Music content data processing apparatus and program
EP1479420A1 (en) Game device, program, information storage medium, game device control method, game distribution method, and game distribution device
JP5697843B2 (en) Music content data processing apparatus and program
JP4281066B2 (en) Digital content data processing apparatus and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060608

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: 20060704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090714

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090714

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130714

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130714

Year of fee payment: 7

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