JP3350242B2 - Additional program loading method - Google Patents

Additional program loading method

Info

Publication number
JP3350242B2
JP3350242B2 JP22623594A JP22623594A JP3350242B2 JP 3350242 B2 JP3350242 B2 JP 3350242B2 JP 22623594 A JP22623594 A JP 22623594A JP 22623594 A JP22623594 A JP 22623594A JP 3350242 B2 JP3350242 B2 JP 3350242B2
Authority
JP
Japan
Prior art keywords
additional program
program
additional
rom
version
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
JP22623594A
Other languages
Japanese (ja)
Other versions
JPH0895792A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP22623594A priority Critical patent/JP3350242B2/en
Publication of JPH0895792A publication Critical patent/JPH0895792A/en
Application granted granted Critical
Publication of JP3350242B2 publication Critical patent/JP3350242B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、機器制御用組み込み型
マイコン制御実行する方式に関わる。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system for controlling and executing an embedded microcomputer for controlling a device.

【0002】[0002]

【従来の技術】パーソナルコンピュータなど、本体に内
蔵したROM化したプログラムによって外部記憶装置を制
御し、ユーザの設定したメディアから別の追加プログラ
ムをRAM上に読み込み、実行する装置がある。それらの
追加プログラムのバージョンと、内蔵ROMのバージョン
を比較して、不適合な追加プログラムは実行しない機構
を持つものがある。さらに、不法に作成されたデータを
排除し、正規のデータのみを再生する装置の例として、
特開平4−340670号公報の画像データの記録・再
生方式がある。
2. Description of the Related Art There is an apparatus such as a personal computer which controls an external storage device by a program stored in a ROM built in a main body, reads another additional program from a medium set by a user into a RAM, and executes the program. By comparing the version of these additional programs with the version of the built-in ROM, there is a mechanism that does not execute an incompatible additional program. Furthermore, as an example of a device that removes illegally created data and reproduces only regular data,
There is a recording / reproducing method of image data described in JP-A-4-340670.

【0003】[0003]

【発明が解決しようとする課題】従来は、本体内蔵のRO
M化したプログラムのバージョンと、RAMに読み込む第1
の追加プログラムのバージョン、さらにその後に読み込
む第2の追加プログラムのバージョン、といった、複数
の追加プログラムのバージョン間の適合性は考慮されて
いない。また、複数の追加プログラムをロードしたと
き、先にロードした追加プログラムによって、後にロー
ドしたプログラムの一部又は全部を変更する手段につい
ては、考慮されていない。また、追加プログラムのロー
ドに際して、不当な追加プログラムによる機器の不正使
用を防ぐためのメディアの正当性の検査についても、従
来は考慮されていなかった。
Conventionally, the RO built into the main body is used.
The version of the program converted to M and the first to be read into RAM
The compatibility between versions of a plurality of additional programs, such as the version of the additional program, and the version of the second additional program to be subsequently read, is not considered. Further, when a plurality of additional programs are loaded, a means for changing a part or all of a later loaded program by the previously loaded additional program is not considered. In addition, when loading the additional program, a check on the validity of the media to prevent the unauthorized use of the device by the unauthorized additional program has not been considered in the past.

【0004】[0004]

【課題を解決するための手段】[Means for Solving the Problems]

(1)各メディアにセキュリティー機構を設ける。
(2)各追加プログラムを暗号化して、それぞれのメデ
ィアに格納する。(3)内蔵ROMに各追加プログラムに
対する関係情報としてバージョンを格納する。(4)そ
れぞれの追加プログラムに、内蔵ROMに対する関係情報
としてバージョンを格納する。(5)各追加プログラム
に、追加プログラム同士の適合性を示す関係情報として
バージョンを格納する。(6)各追加プログラムに、他
の追加プログラムを変更するサブルーチンを設ける。
(1) Provide a security mechanism for each medium.
(2) Each additional program is encrypted and stored in each medium. (3) The version is stored in the built-in ROM as related information for each additional program. (4) The version is stored in each additional program as information related to the built-in ROM. (5) In each additional program, a version is stored as relation information indicating compatibility between the additional programs. (6) Each additional program is provided with a subroutine for changing another additional program.

【0005】[0005]

【作用】追加プログラムのロードに際して、以下の手順
でロードし、変更を加える。
When loading an additional program, the program is loaded and changed according to the following procedure.

【0006】(1)メディアを検査して、正規のもので
なければ追加プログラムデータをロードしない。(2)
ロードしたデータを復号化して、チェックコードによる
検査に合格しなければ、不正なものとしてデータを消去
する。(3)追加プログラムの対応ROMバージョンと、
内蔵ROMの追加プログラムに対するバージョンを比較
し、内蔵ROMが追加プログラムよりも新しければロード
しない。(4)既にロードされたあるメディアの追加プ
ログラム(第1の追加プログラム)が、後からロードし
た別のメディアの追加プログラム(第2の追加プログラ
ム)よりも新しいものであった場合、第1の追加プログ
ラムにある第2の追加プログラムを変更するサブルーチ
ンをコールする。(5)また、各追加プログラムに、他
の追加プログラムを変更するサブルーチンを設けてある
ので、もし、第1のプログラムに問題があるなどして、
第2の追加プログラムから修正が必要な場合は、第2の
追加プログラムのサブルーチンによって修正が可能であ
る。
(1) The medium is inspected, and if it is not a regular one, no additional program data is loaded. (2)
If the loaded data is decrypted and does not pass the check by the check code, the data is erased as invalid. (3) Supported ROM version of additional program,
Compare the version of the internal ROM for the additional program, and do not load if the internal ROM is newer than the additional program. (4) If the additional program (first additional program) of one medium already loaded is newer than the additional program (second additional program) of another medium loaded later, the first A subroutine for changing a second additional program in the additional program is called. (5) For each additional program,
There is a subroutine to change additional programs
So, if there is a problem with the first program,
If a modification is required from the second additional program, the second
Modification is possible by subroutine of additional program.
You.

【0007】[0007]

【実施例】本発明の一実施例を、図面を用いて以下に説
明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings.

【0008】図2は、本発明による追加プログラムロー
ド方式を応用したCD-ROMドライブ装置120のブロック
図である。CD-ROMドライブ装置120は、ホストCPU9
0との通信を制御するI/F回路104、ホストCPU90の
命令に従って図に示す各構成要素を制御するCPU10
3、CD-ROMディスク108を再生するCDドライブ装置1
07、CDドライブ装置107から得た再生信号をデータ
に変換するCD-ROMデータ変換回路105、変換されたデ
ータを格納したり装置の制御に必要なデータを格納する
RAM102、CPU103が実行するプログラムを格納する
第1のROM106、とから構成される。また、CD-ROMド
ライブ装置120に対し、外装するカートリッジ100
は、第2のROM101を持ち、第2のROM101は、デー
タバス113と制御バス114を介して、CPU103か
ら読み出すことができる。CPU103は、ドライブ制御
信号117を介してCDドライブ107を制御してCDディ
スク108の所定の位置を再生すると同時に、CD-ROMデ
ータ変換回路105の出力をRAM102に転送するよう
に設定する。再生されたCD再生信号116は、CD-ROMデ
ータ変換回路105に送られ、ここでCD-ROMとしてのデ
ータに変換し、RAM102に格納される。
FIG. 2 is a block diagram of a CD-ROM drive device 120 to which the additional program loading method according to the present invention is applied. The CD-ROM drive device 120 is connected to the host CPU 9
An I / F circuit 104 for controlling communication with the host CPU 90 and a CPU 10 for controlling each component shown in FIG.
3. CD drive 1 for playing CD-ROM disk 108
07, a CD-ROM data conversion circuit 105 for converting a reproduction signal obtained from the CD drive device 107 into data, storing the converted data and storing data necessary for controlling the device.
A RAM 102, and a first ROM 106 for storing a program to be executed by the CPU 103. Also, the cartridge 100 to be packaged with respect to the CD-ROM drive device 120 is provided.
Has a second ROM 101, and the second ROM 101 can be read from the CPU 103 via the data bus 113 and the control bus 114. The CPU 103 controls the CD drive 107 via the drive control signal 117 to reproduce a predetermined position of the CD disk 108 and, at the same time, sets the output of the CD-ROM data conversion circuit 105 to be transferred to the RAM 102. The reproduced CD reproduction signal 116 is sent to the CD-ROM data conversion circuit 105, where it is converted into data as a CD-ROM and stored in the RAM 102.

【0009】図1を用いて、本発明による追加プログラ
ムロード方式の動作の概要を示す。CDドライブ装置12
0は、CD-ROMディスク108に、暗号化されて格納され
ている第1の追加プログラム131を復号して、RAM1
02の第1の追加プログラムロード領域130に読み出
す。このとき、CD-ROMディスク108の正規性および暗
号化されたデータの正規性を検査し、不正なものであれ
ば、ロードを中断する。RAM102に読み出した第1の
追加プログラム131の対応ROMバージョンDと、第1の
ROM106に示されたROMバージョンDとを比較する。第
1の追加プログラム131の対応ROMバージョンDが古い
ものであれば、不当な追加プログラムとして消去する。
同様に、第2の追加プログラム141もRAM102の第
2の追加プログラムロード領域140にロードする。さ
らに、第2の追加プログラムの対応ディスクバージョン
と、第1の追加プログラム131の対応カートリッジバ
ージョンを比較し、第1の追加プログラムの対応カート
リッジバージョンが新しければ、第1の追加プログラム
131に格納された、第2の追加プログラム変更サブル
ーチンを実行する。
The operation of the additional program loading method according to the present invention will be outlined with reference to FIG. CD drive device 12
0 decrypts the first additional program 131 encrypted and stored in the CD-ROM disk 108,
02 in the first additional program load area 130. At this time, the validity of the CD-ROM disk 108 and the validity of the encrypted data are checked, and if the data is invalid, the loading is interrupted. The ROM version D corresponding to the first additional program 131 read into the RAM 102 and the first
Compare with ROM version D shown in ROM 106. If the corresponding ROM version D of the first additional program 131 is old, it is erased as an invalid additional program.
Similarly, the second additional program 141 is also loaded into the second additional program load area 140 of the RAM 102. Further, the corresponding disc version of the second additional program is compared with the corresponding cartridge version of the first additional program 131. If the corresponding cartridge version of the first additional program is newer, the corresponding cartridge version is stored in the first additional program 131. In addition, a second additional program change subroutine is executed.

【0010】以下、各部の動作をさらに説明する。The operation of each section will be further described below.

【0011】図3は、CD-ROMディスク108に格納され
た暗号化した第1の追加プログラムデータ132の形式
を示している。メディアへの追加プログラムの格納は、
以下の手順による。(1)追加プログラムを、例えば、
奇数ビットと偶数ビットを入れ替えるなどして、暗号化
する。(2)暗号化した追加プログラムに対して、例え
ば、チェックサムなどの、チェックコードを付加する。
(3)暗号化したプログラムとチェックコードをあわせ
た長さを先頭に、メディアの定められた箇所に暗号化し
たプログラムと、チェックコードを格納する。
FIG. 3 shows the format of the encrypted first additional program data 132 stored on the CD-ROM disk 108. To store additional programs on the media,
The following procedure is used. (1) Additional programs, for example,
The encryption is performed by exchanging odd and even bits. (2) A check code such as a checksum is added to the encrypted additional program.
(3) The encrypted program and the check code are stored in a predetermined portion of the medium, starting with the combined length of the encrypted program and the check code.

【0012】RAM102の第1の追加プログラムロード
領域130は、図5に示すように、対応ROMバージョンD
〜第nフックまでの第1のテーブル133と、第1のサ
ブルーチン群134から構成される。この第1のテーブ
ル133は、内蔵の第1のROM106に対するバージョ
ンを示す対応ROMバージョンDと、第2の追加プログラム
141に対するバージョンを示す対応カートリッジバー
ジョンと、追加プログラムのエントリーアドレスを示す
第1ブートエントリD,第2ブートエントリDおよび第1
フックD〜第nフックDから構成されている。第1のサブ
ルーチン群134は、追加プログラムの本体であるサブ
ルーチンD1〜サブルーチンDmから構成されている。追加
プログラムの実行は、図4に示すような、内蔵の第1の
ROM106のプログラム中に、第1のROM106内のプロ
グラムと追加プログラムとを選択して実行する部分を予
め設けておく。第1の追加プログラム131による追加
プログラムを実行する場合、S1で第1のテーブル13
3の該当するフックを参照する。該フックの内容をS2
で検査して、0である場合は、追加プログラムなしとし
て第1のROM106上のプログラムを実行し、それ以外
は、該フックの内容のアドレスのプログラムを実行す
る。例えば、図5に示す第1の追加プログラム131の
場合、第1のフックDの内容は0なので、第1のROM10
6のプログラムを実行する。一方、第2フックDのよう
に、サブルーチンアドレスDPATCH_1が示されている場合
は、DPATCH_1にあるサブルーチンD3を実行する。
As shown in FIG. 5, a first additional program load area 130 of the RAM 102 stores a corresponding ROM version D
It comprises a first table 133 from the first hook to the n-th hook, and a first subroutine group 134. The first table 133 includes a corresponding ROM version D indicating the version for the built-in first ROM 106, a corresponding cartridge version indicating the version for the second additional program 141, and a first boot entry indicating the entry address of the additional program. D, second boot entry D and first boot entry
Hook D to n-th hook D are provided. The first subroutine group 134 includes a subroutine D1 to a subroutine Dm, which are the main body of the additional program. The execution of the additional program is performed by a built-in first program as shown in FIG.
In the program of the ROM 106, a portion for selecting and executing the program in the first ROM 106 and the additional program is provided in advance. When executing the additional program by the first additional program 131, the first table 13 is executed in S1.
Refer to the corresponding hook in 3. The content of the hook is S2
If the value is 0, the program on the first ROM 106 is executed without any additional program, and otherwise, the program at the address of the content of the hook is executed. For example, in the case of the first additional program 131 shown in FIG. 5, since the content of the first hook D is 0, the first ROM 10
6 is executed. On the other hand, when the subroutine address DPATCH_1 is indicated as in the second hook D, the subroutine D3 at DPATCH_1 is executed.

【0013】追加プログラムは、内蔵の第1のROM10
6のプログラムによってRAM102にロードされ、実行
することができる。したがって、追加プログラムをロー
ドする以前は、常に第1のROM106のプログラムを実
行するようにしなければならない。したがって、追加プ
ログラムの実行を管理するテーブルの内容を0にクリア
しておく。即ち、図6に示すように、まず、第1のテー
ブル133の初期状態では(a)に示すように、すべて
のフックアドレスを0にクリアする。追加プログラムを
ロードした後は、(b)に示すように、それぞれ追加さ
れたプログラムの実行開始アドレスが記録される。ま
た、不正なデータやバージョンの古い追加プログラムを
ロードした場合、第1のROM106のプログラムを実行
するため、初期状態と同様に、テーブルの内容を0にク
リアする。
The additional program has a built-in first ROM 10
6 can be loaded into the RAM 102 and executed. Therefore, the program in the first ROM 106 must always be executed before loading the additional program. Therefore, the contents of the table for managing the execution of the additional program are cleared to zero. That is, as shown in FIG. 6, first, in the initial state of the first table 133, all hook addresses are cleared to 0 as shown in FIG. After loading the additional programs, the execution start addresses of the added programs are recorded as shown in FIG. Also, when an additional program with invalid data or an old version is loaded, the program in the first ROM 106 is executed, so that the contents of the table are cleared to 0 as in the initial state.

【0014】図を用いて、第1の追加プログラムを例
に、追加プログラムロード処理手順を説明する。S1
で、追加プログラムをロードしようとしているディスク
が正規のものか、検査する。もし不正なものであれば、
S2で分岐し、追加プログラムロード処理を行わずに終
了する。正規のディスクであれば、S3に進み、追加プ
ログラムロード領域130をゼロクリアする。これは、
追加プログラムのロード処理中に、例えば、割り込み処
理などが、追加プログラムを使うことを防ぐために、第
1のテーブル133をクリアするものである。続くS4
で、追加プログラムを暗号化したデータ132を読み込
む。S5で、データを復号し、チェックコードによっ
て、正規の追加プログラムであるか否かを検査する。検
査の結果、不正なものであれば、S6で分岐し、S9で
追加プログラム領域130を0クリアしてロード処理を
終了する。正規のものであれば、S7で対応ROMバージ
ョンDと、第1のROM106に示されたROMバージョンDと
を比較する。第1の追加プログラム131の方が第1の
ROM106よりも、例えばバージョン番号が小さく、古
いものであった場合、分岐して、S9にて追加プログラ
ム領域130を0クリアしてロード処理を終了する。新
しいものであった場合、S8で第1のテーブル133の
第1ブートエントリに示すアドレスのプログラムサブル
ーチンD1を実行して、ロード処理を終了する。
With reference to FIG. 8 , an additional program load processing procedure will be described using the first additional program as an example. S1
Check that the disk on which you want to load the additional program is legitimate. If it's fraudulent,
The process branches in S2 and ends without performing the additional program loading process. If the disc is a regular disc, the process proceeds to S3, and the additional program load area 130 is cleared to zero. this is,
During the loading process of the additional program, the first table 133 is cleared in order to prevent the interrupt program from using the additional program. The following S4
Then, the data 132 obtained by encrypting the additional program is read. In S5, the data is decrypted, and it is checked whether or not the program is a legitimate additional program by using a check code. If the result of the check is incorrect, the process branches at S6, clears the additional program area 130 to 0 at S9, and ends the load processing. If so, the corresponding ROM version D is compared with the ROM version D shown in the first ROM 106 in S7. The first additional program 131 has the first
If, for example, the version number is smaller than the ROM 106 and the version number is older than the ROM 106, the process is branched, the additional program area 130 is cleared to 0 in S9, and the loading process ends. If it is a new one, the program subroutine D1 of the address shown in the first boot entry of the first table 133 is executed in S8, and the loading process is completed.

【0015】第1の追加プログラム131をロードした
後、さらに、カートリッジ100に内蔵された第2のRO
M101から、第2の追加プログラム141をロードす
る場合について、以下に説明する。
After the first additional program 131 is loaded, the second RO
A case where the second additional program 141 is loaded from M101 will be described below.

【0016】図に第2の追加プログラム141の内容
を示す。第2の追加プログラム141も、第1の追加プ
ログラム131と同様に、追加プログラムの実行を制御
する第2のテーブル143と、プログラムの実体を格納
した第2のサブルーチン群144から構成される。追加
プログラムの実行方法は、第1の追加プログラム131
と同じで、第1のROM106のプログラムが第2のテー
ブル143を参照して、該当するフックの内容が0であ
れば、第1のROM106のプログラムを実行し、それ以
外は、フックの内容を実行開始アドレスとして、追加プ
ログラムのサブルーチンを実行する。
FIG. 7 shows the contents of the second additional program 141. Like the first additional program 131, the second additional program 141 includes a second table 143 for controlling the execution of the additional program, and a second subroutine group 144 storing the substance of the program. The execution method of the additional program is the first additional program 131
Similarly, if the program of the first ROM 106 refers to the second table 143 and the content of the corresponding hook is 0, the program of the first ROM 106 is executed. Otherwise, the content of the hook is changed. The subroutine of the additional program is executed as the execution start address.

【0017】図9に、第2の追加プログラム141をロ
ードする処理の手順を示す。S1で、追加プログラムを
ロードしようとしているカートリッジ100が正規のも
のか、検査する。もし不正なものであれば、S2で分岐
し、追加プログラムロード処理を行わずに終了する。正
規のカートリッジであれば、S3に進み、追加プログラ
ムロード領域140をゼロクリアする。これは、追加プ
ログラムのロード処理中に、例えば、割り込み処理など
が、追加プログラムを使うことを防ぐために、第1のテ
ーブル143をクリアするものである。続くS4で、追
加プログラムを暗号化したデータを第2のROM101か
ら読み込む。S5で、データを復号し、チェックコード
によって、正規の追加プログラムであるか否かを検査す
る。検査の結果、不正なものであれば、S6で分岐し、
S9で追加プログラム領域140を0クリアしてロード
処理を終了する。正規のものであれば、S7で対応ROM
バージョンCと、第1のROM106に示されたROMバージ
ョンCとを比較する。第2の追加プログラム141の方
が第1のROM106よりも、例えばバージョン番号が小
さく、古いものであった場合、分岐して、S9にて追加
プログラム領域140を0クリアしてロード処理を終了
する。新しいものであった場合、S10で第2のテーブ
ル143に記された対応ディスクバージョンと、第1の
テーブル133に記された対応カートリッジバージョン
を比較して、第1のテーブル133に示された対応カー
トリッジバージョンの方が新しいものであった場合、S
11で第1の追加プログラム131の第2ブートエント
リDを参照し、サブルーチンD2を実行する。以下、S8
で第1のテーブル143のブートエントリCに示すアド
レスのプログラムサブルーチンC1を実行して、ロード
処理を終了する。
FIG. 9 shows a procedure of processing for loading the second additional program 141. In S1, it is checked whether the cartridge 100 to which the additional program is to be loaded is a regular one. If not, the process branches at S2 and ends without performing the additional program loading process. If the cartridge is a regular cartridge, the process proceeds to S3, and the additional program load area 140 is cleared to zero. This is to clear the first table 143 in order to prevent, for example, interrupt processing from using the additional program during the loading processing of the additional program. In S4, the data obtained by encrypting the additional program is read from the second ROM 101. In S5, the data is decrypted, and it is checked whether or not the program is a legitimate additional program by a check code. If the result of the inspection is incorrect, the process branches at S6,
In S9, the additional program area 140 is cleared to 0, and the load processing ends. If it is legitimate, the corresponding ROM in S7
The version C is compared with the ROM version C shown in the first ROM 106. If the second additional program 141 has, for example, a smaller version number and an older version than the first ROM 106, the program branches off, clears the additional program area 140 to 0 in S9, and ends the load processing. . If it is newer, the corresponding disk version described in the second table 143 is compared with the corresponding cartridge version described in the first table 133 in S10, and the corresponding disk version shown in the first table 133 is compared. If the cartridge version is newer, S
At 11, the subroutine D2 is executed with reference to the second boot entry D of the first additional program 131. Hereinafter, S8
Then, the program subroutine C1 of the address shown in the boot entry C of the first table 143 is executed, and the loading process is completed.

【0018】第2の追加プログラム141は、第1の追
加プログラム131がロードされた後にロードされる。
もし、第1のプログラムに問題があるなどして、第2の
追加プログラムから修正が必要な場合は、第2の追加プ
ログラム141のブートエントリCが指示するサブルー
チンC1によって修正が可能である。一方、第2の追加
プログラム141に問題があるなどして、後に第1の追
加プログラム131によって修正する場合は、図9のS
10〜S11の機構を利用する。即ち、第2の追加プロ
グラム141の対応ディスクバージョンよりも、第1の
追加プログラム131の対応カートリッジバージョンを
新しいものに設定し、第1の追加プログラム131の第
2ブートエントリDが示すサブルーチンD2に第2の追加
プログラム141を修正するプログラムを作成すればよ
い。
The second additional program 141 is loaded after the first additional program 131 is loaded.
If the second additional program needs to be modified due to a problem in the first program or the like, the modification can be performed by the subroutine C1 indicated by the boot entry C of the second additional program 141. On the other hand, when there is a problem in the second additional program 141 or the like and the first additional program 131 corrects the error later, the process in FIG.
The mechanism of 10 to S11 is used. That is, the corresponding cartridge version of the first additional program 131 is set to a newer version than the corresponding disk version of the second additional program 141, and the first subroutine D2 indicated by the second boot entry D of the first additional program 131 is A program for modifying the second additional program 141 may be created.

【0019】図10により、第1のROM106に格納し
たROMバージョンDとROMバージョンC、第1の追加プログ
ラム131に格納した対応ROMバージョンDと対応カート
リッジバージョン、第2の追加プログラム141に格納
した対応ROMバージョンCと対応ディスクバージョン、そ
れぞれの関係を説明する。まず、項1は、内蔵の第1の
ROM106に格納されたプログラムだけで動作している
状態を示す。この第1のROM106では、ROMバージョン
D,ROMバージョンCはそれぞれ0である。第1の追加プ
ログラム131、第2の追加プログラム141を必要と
しない状態では、例えば、それぞれのチェックコードを
不正な値に設定しておけば、ロードされない。このと
き、処理aは、ロード処理を行わない。
Referring to FIG. 10, the ROM version D and the ROM version C stored in the first ROM 106, the corresponding ROM version D and the corresponding cartridge version stored in the first additional program 131, and the correspondence stored in the second additional program 141 The relationship between the ROM version C and the corresponding disk version will be described. First, item 1 is the first built-in
This shows a state in which only the program stored in the ROM 106 operates. In this first ROM 106, the ROM version
D and ROM version C are 0 each. In a state where the first additional program 131 and the second additional program 141 are not required, for example, if each check code is set to an invalid value, the load is not performed. At this time, the process a does not perform the loading process.

【0020】項2は、第1のROM106のプログラムに
対して、第1の追加プログラムをロードする場合を示し
ている。このときの処理bは、第1の追加プログラムの
対応ROMバージョンDを1として、第1のROM106より
も後に作られたものであることを示しているので、第1
の追加プログラム131をロードする。また、第2の追
加プログラム141は、対応ROMバージョンCを0にして
いるので、第1のROM106と同じバージョンであるた
め、ロードされない。第1の追加プログラム131の対
応カートリッジバージョンは、第2の追加プログラム1
41の対応ディスクバージョンと同じく0なので、第1
の追加プログラム131の第2のブートは実行されな
い。
Item 2 shows a case where a first additional program is loaded into the first ROM 106 program. At this time, the process b indicates that the ROM is created after the first ROM 106, with the corresponding ROM version D of the first additional program being set to 1;
Is loaded. Further, the second additional program 141 is not loaded because the corresponding ROM version C is set to 0 and is the same version as the first ROM 106. The corresponding cartridge version of the first additional program 131 is the second additional program 1
As the corresponding disc version of 41 is 0, the first
Of the additional program 131 is not executed.

【0021】項3は、第2の追加プログラム141もロ
ードする場合を示している。このときの処理cは、第1
の追加プログラムの対応ROMバージョンDを1として、第
1のROM106よりも後に作られたものであることを示
しているので、第1の追加プログラム131をロードす
る。また、第2の追加プログラム141も、対応ROMバ
ージョンCを1にしているので、第1のROM106よりも
後に作られたものであることを示しているので、第2の
追加プログラム141をロードする。第1の追加プログ
ラム131の対応カートリッジバージョンは、第2の追
加プログラム141の対応ディスクバージョンと同じく
0なので、第1の追加プログラム131の第2ブートD
は実行されない。しかし、第2の追加プログラム141
のブートCは、実行されるので、必要があれば、第1の
追加プログラム131をブートCで書き換え修正でき
る。
Item 3 shows a case where the second additional program 141 is also loaded. The process c at this time is the first
Assuming that the corresponding ROM version D of the additional program is 1 and that it is created after the first ROM 106, the first additional program 131 is loaded. Since the second additional program 141 also sets the corresponding ROM version C to 1, indicating that the second additional program 141 was created after the first ROM 106, the second additional program 141 is loaded. . Since the corresponding cartridge version of the first additional program 131 is 0, which is the same as the corresponding disk version of the second additional program 141, the second boot D of the first additional program 131
Is not executed. However, the second additional program 141
Since the boot C is executed, the first additional program 131 can be rewritten and corrected by the boot C if necessary.

【0022】項4は、第1の追加プログラム131で、
第2の追加プログラム141に変更を加える場合を示し
ている。このときの処理dは、第1の追加プログラム1
31、第2の追加プログラム141をロードする。第1
の追加プログラム131の対応カートリッジバージョン
は1であり、第2の追加プログラム141の対応ディス
クバージョンは0なので、第1の追加プログラム131
の第2ブートDを実行し、第2の追加プログラム141
を第2ブートDで書き換え修正できる。
Item 4 is a first additional program 131,
The case where a change is made to the second additional program 141 is shown. The process d at this time is the first additional program 1
31, load the second additional program 141; First
Since the corresponding cartridge version of the additional program 131 is 1, and the corresponding disk version of the second additional program 141 is 0, the first additional program 131
Of the second additional program 141
Can be rewritten and corrected in the second boot D.

【0023】項5は、第1のROM106を更新した場合
を示している。即ち、ROMバージョンD,ROMバージョンC
を1に設定している。このときの処理eは、第1の追加
プログラム131、第2の追加プログラム141共にロ
ードしない。
Item 5 shows a case where the first ROM 106 is updated. That is, ROM version D, ROM version C
Is set to 1. In the process e at this time, neither the first additional program 131 nor the second additional program 141 is loaded.

【0024】項6は、更新された第1のROM106に対
して追加プログラムをロードする設定を示している。処
理fは、第1の追加プログラム131の対応ROMバージ
ョンDが第1のROM106のROMバージョンDよりも新しい
ものであることから、第1の追加プログラム131をロ
ードする。
Item 6 shows a setting for loading an additional program into the updated first ROM 106. The process f loads the first additional program 131 because the corresponding ROM version D of the first additional program 131 is newer than the ROM version D of the first ROM 106.

【0025】[0025]

【発明の効果】本発明によれば、正規の追加プログラム
だけをロードするので、機器の不正使用を防ぐことがで
き、安全性向上の効果がある。また、本発明によれば、
複数の追加プログラムロード手段の、互いのバージョン
の新旧の関係によって、自動的に後から作られたものに
よってのみ古いものへ修正を加えられるので、操作性向
上の効果がある。
According to the present invention, since only a legitimate additional program is loaded, unauthorized use of the device can be prevented, and there is an effect of improving security. According to the present invention,
Due to the relationship between the new and old versions of the plurality of additional program loading means, the old one can be modified only by the one automatically created later, which has the effect of improving operability.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の動作の概要を示す説明図である。FIG. 1 is an explanatory diagram showing an outline of an operation of the present invention.

【図2】本発明の応用例のCD-ROMドライブ装置のブロッ
ク図である。
FIG. 2 is a block diagram of a CD-ROM drive device according to an application example of the present invention.

【図3】追加プログラムのメディアへの格納形式を示す
説明図である。
FIG. 3 is an explanatory diagram showing a storage format of an additional program in a medium.

【図4】追加プログラムの実行に関わる処理を示すフロ
ー図である。
FIG. 4 is a flowchart showing processing related to execution of an additional program.

【図5】第1の追加プログラムの構造を示す説明図であ
る。
FIG. 5 is an explanatory diagram showing a structure of a first additional program.

【図6】第1のテーブルの初期状態とロード後の状態を
示す説明図である。
FIG. 6 is an explanatory diagram showing an initial state and a state after loading of a first table.

【図7】第2の追加プログラムの構造を示す説明図であ
る。
FIG. 7 is an explanatory diagram showing the structure of a second additional program.
You.

【図8】第1の追加プログラムをロードする手順を示す
フロー図である。
FIG. 8 shows a procedure for loading a first additional program.
It is a flowchart.

【図9】第2の追加プログラムをロードする手順を示す
フロー図である。
FIG. 9 is a flowchart showing a procedure for loading a second additional program.

【図10】本発明による追加プログラムロード方式の動
作を説明する説明図である。
FIG. 10 is an explanatory diagram illustrating an operation of an additional program loading method according to the present invention.

フロントページの続き (72)発明者 大塚 伸二 神奈川県横浜市戸塚区吉田町292番地株 式会社 日立製作所 情報映像メディア 事業部内 (72)発明者 松永 敏裕 神奈川県横浜市戸塚区吉田町292番地株 式会社 日立画像情報システム内 (72)発明者 舟戸 昭一郎 神奈川県横浜市戸塚区吉田町292番地株 式会社 日立製作所 映像メディア研究 所内 (72)発明者 辻村 宏文 神奈川県横浜市戸塚区吉田町292番地株 式会社 日立製作所 映像メディア研究 所内 (72)発明者 渡並 克彦 神奈川県横浜市戸塚区吉田町292番地株 式会社 日立画像情報システム内 (72)発明者 西谷 升孝 神奈川県横浜市戸塚区吉田町292番地株 式会社 日立マイクロソフトウェアシス テムズ内 (56)参考文献 特開 平6−187142(JP,A) 特開 平1−124041(JP,A) 特開 昭63−4536(JP,A) 特開 昭59−40399(JP,A) 特開 平5−126620(JP,A) 特開 昭64−9524(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/06,9/445 Continued on the front page (72) Inventor Shinji Otsuka 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Pref. Hitachi, Ltd. Information and Video Media Division (72) Inventor Toshihiro Matsunaga 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Company Hitachi Image Information System (72) Inventor Shoichiro Funato 292 Yoshida-cho, Totsuka-ku, Yokohama, Kanagawa Pref. Hitachi, Ltd.Video Media Research Laboratory (72) Inventor Katsuhiko Watananami 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Japan Incorporated Hitachi Image Information Systems (72) Inventor Noritaka Nishitani Yoshida-cho, Totsuka-ku, Yokohama, Kanagawa Reference number 292 Hitachi Hitachi Software Systems, Ltd. (56) References JP-A-6-187142 (JP, A) JP-A-1-124404 (JP, A) JP-A-63-4536 (JP, A) Kaisho 59-40399 JP, A) JP flat 5-126620 (JP, A) JP Akira 64-9524 (JP, A) (58 ) investigated the field (Int.Cl. 7, DB name) G06F 9 / 06,9 / 445

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】マイクロプロセッサとROMとRAMを有し、該
ROMのプログラムで動作する装置で、 該ROMプログラムの機能を変更する追加プログラムを複
数ロードする追加プログラムのロード方法において、 該複数の追加プログラムの内、 着脱可能な形態であって、該装置に装着することで該追
加プログラムをロード可能とするROMから得られる第1の
追加プログラムと光ディスクから得られる第2の追加プ
ログラムについて、 該第1の追加プログラムに該第2の追加プログラムの一
部又は全部を変更するサブプログラムと、該第1の追加
プログラムと該第2の追加プログラムとの関係を示す第
1の関係情報とを格納し、 該第2の追加プログラムに、該第2の追加プログラムと
該第1の追加プログラムとの関係を示す第2の関係情報
を格納し、 該第1の関係情報と、該第2の関係情報とを比較した結
果に基づいて該第1のプログラムの該サブプログラムを
実行して、第2の追加プログラムの一部又は全部を変更
することを特徴とする追加プログラムのロード方法。
1. A microprocessor comprising a microprocessor, a ROM, and a RAM.
A method for loading a plurality of additional programs for changing a function of the ROM program in a device operated by a ROM program, wherein the plurality of additional programs are detachably mounted and mounted on the device. The first additional program obtained from the ROM and the second additional program obtained from the optical disk, by which the additional program can be loaded, and a part or all of the second additional program is added to the first additional program. Is stored, and first relation information indicating a relation between the first additional program and the second additional program is stored, and the second additional program is stored in the second additional program. Second relationship information indicating a relationship with the first additional program is stored, and based on a result of comparison between the first relationship information and the second relationship information. Executing the sub-program of the first program to change part or all of the second additional program.
【請求項2】マイクロプロセッサとROMとRAMを有し、該
ROMのプログラムで動作する装置で、 該ROMプログラムの機能を変更する追加プログラムを複
数ロードする追加プログラムのロード方法において、 該複数の追加プログラムの内、 着脱可能な形態であって、該装置に装着することで該追
加プログラムをロード可能とするROMから得られる第1の
追加プログラムと光ディスクから得られる第2の追加プ
ログラムについて、 該第1の追加プログラムに該第1の追加プログラムと該
第2の追加プログラムとの関係を示す第1の関係情報を
格納し、 該第2の追加プログラムに、該第1の追加プログラムの
一部又は全部を変更するサブプログラムと、該第2の追
加プログラムと該第1の追加プログラムとの関係を示す
第2の関係情報とを格納し、 該第1の関係情報と、該第2の関係情報とを比較した結
果に基づいて該第2のプログラムの該サブプログラムを
実行して、第1の追加プログラムの一部又は全部を変更
することを特徴とする追加プログラムのロード方法。
2. A system comprising a microprocessor, a ROM and a RAM,
A method for loading a plurality of additional programs for changing a function of the ROM program in a device operated by a ROM program, wherein the plurality of additional programs are detachably mounted and mounted on the device. The first additional program obtained from the ROM and the second additional program obtained from the optical disk which allow the additional program to be loaded by loading the first additional program include the first additional program and the second additional program obtained from the optical disk. First relation information indicating a relation with the additional program is stored, and the second additional program includes a subprogram for changing a part or all of the first additional program; the second additional program; Second relation information indicating a relation with the first additional program is stored, and based on a result of comparison between the first relation information and the second relation information, Executing the sub-program of the second program to change part or all of the first additional program.
【請求項3】請求項1、2記載の追加プログラムのロー
ド方法において、 着脱可能な形態であって、該装置に装着することで該追
加プログラムをロード可能とするROMから第2の追加プ
ログラムが得られるものとし、 光ディスクから第1の追加プログラムが得られるものと
することを特徴とする追加プログラムのロード方法。
3. The method for loading an additional program according to claim 1, wherein said second additional program is loaded in a removable form from a ROM which can be loaded on said device to load said additional program. A method for loading an additional program, wherein the first additional program is obtained from an optical disc.
【請求項4】請求項1〜3記載の追加プログラムのロー
ド方法において、 追加プログラムを格納するメディアの正規性を検査する
手段を設け、 正規のメディアに格納された追加プログラムをロードす
ることを特徴とする追加プログラムのロード方法。
4. A method for loading an additional program according to claim 1, further comprising means for checking the legitimacy of the medium storing the additional program, wherein the additional program stored on the regular medium is loaded. And how to load additional programs.
【請求項5】請求項1〜3記載の追加プログラムのロー
ド方法において、 該暗号化された追加プログラムを復号化する手段と、 該暗号化された追加プログラムの正規性を検査する手段
とを設け、 正規の追加プログラムをロードすることを特徴とする追
加プログラムのロード方法。
5. The method for loading an additional program according to claim 1, further comprising: means for decrypting the encrypted additional program; and means for checking the legitimacy of the encrypted additional program. A method for loading an additional program, comprising loading a legitimate additional program.
JP22623594A 1994-09-21 1994-09-21 Additional program loading method Expired - Fee Related JP3350242B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22623594A JP3350242B2 (en) 1994-09-21 1994-09-21 Additional program loading method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22623594A JP3350242B2 (en) 1994-09-21 1994-09-21 Additional program loading method

Publications (2)

Publication Number Publication Date
JPH0895792A JPH0895792A (en) 1996-04-12
JP3350242B2 true JP3350242B2 (en) 2002-11-25

Family

ID=16842017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22623594A Expired - Fee Related JP3350242B2 (en) 1994-09-21 1994-09-21 Additional program loading method

Country Status (1)

Country Link
JP (1) JP3350242B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002373083A (en) * 2001-06-14 2002-12-26 Pioneer Electronic Corp Device for reproducing information, method for correcting reproduction program, and information recording medium

Also Published As

Publication number Publication date
JPH0895792A (en) 1996-04-12

Similar Documents

Publication Publication Date Title
US6772281B2 (en) Disk drive for selectively satisfying a read request from a host computer for a first valid data block with a second valid data block
JP4404940B2 (en) Method and system for providing custom software images to a computer system
JP4988288B2 (en) Online system and method for restoring electronic media in an electronic storage device
JP4433401B2 (en) Information processing system, program, and information processing method
KR101533901B1 (en) Networked recovery system
USRE44969E1 (en) Storage media with benchmark representative of data originally stored thereon
US20030233534A1 (en) Enhanced computer start-up methods
JP4288893B2 (en) Information processing apparatus, program loading method, recording medium, program updating method, and circuit element
US5960460A (en) Non-intrusive replication of hard disk
US7219257B1 (en) Method for boot recovery
US7013392B1 (en) File processing unit
US20040268070A1 (en) Method and apparatus for backing up data in virtual storage medium
US8806474B2 (en) Computer-hardware, life-extension apparatus and method
JPH1021084A (en) Software distribution medium and its generating method
US6591363B1 (en) System for writing incremental packet data to create bootable optical medium by writing boot catalog and boot image onto second track before writing volume descriptors onto first track
US6631468B1 (en) Bootable packet written re-writable optical disc and methods for making same
JP2003058486A (en) Image forming device
JP3350242B2 (en) Additional program loading method
JPH0814802B2 (en) Method of replacing non-volatile memory in an electronic printing system
US6530019B1 (en) Disk boot sector for software contract enforcement
JP2004362221A (en) Hard disk backup recovery system, hard disk backup recovery method and information processing device
US20050027966A1 (en) Device and method for digital signal processor code downloading
JP2001344096A (en) Information processor and method for controlling the same and recording medium
JP3220387B2 (en) Disk copy protection method, disk reading mechanism, and disk recording medium
US20040117608A1 (en) Methods and apparatus for providing self-describing media

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees