專利名稱:軟件程序的執(zhí)行方法及實(shí)施該方法的電路裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件程序的執(zhí)行方法及實(shí)施該方法的電路裝置,特別是涉及為了便于使用存儲(chǔ)于以可裝卸方式與硬件設(shè)備相連的外部存儲(chǔ)器中的軟件程序資源的程序執(zhí)行方法及實(shí)施該方法的電路裝置。
近年來(lái),隨著微機(jī)的普及,以ROM盒式存儲(chǔ)器、軟盤等多種方式為裝在微機(jī)上的專用硬件設(shè)備提供了軟件程序。
而且,在一般的專用硬件設(shè)備中,對(duì)提供的軟件程序普遍進(jìn)行了加密以防止非法地復(fù)制或產(chǎn)出軟件程序。
業(yè)已對(duì)有關(guān)軟件程序的加密方法提出了多種方案,例如有記載在美國(guó)專利4,442,486號(hào)(與之對(duì)應(yīng)的歐洲專利申請(qǐng)書80,244號(hào)以及日本專利申請(qǐng)書公開公報(bào)昭58-101349號(hào)、相關(guān)的美國(guó)專利4,454,504號(hào))、美國(guó)專利4,462,076號(hào)和美國(guó)專利5,155,768號(hào)(與之對(duì)應(yīng)的日本專利申請(qǐng)書公開公報(bào)平3-266051號(hào))等上面的技術(shù)。
美國(guó)專利4,442,486號(hào)中所記載的技術(shù)內(nèi)容是將一個(gè)游戲卡存貯器的一個(gè)固定地址的內(nèi)容與存貯在控制設(shè)備中的CPU的加密信息相比較,該游戲卡以可拆卸方式與控制設(shè)備相連。當(dāng)比較結(jié)果不一致時(shí),就拒絕接受游戲卡,即不能執(zhí)行該游戲卡內(nèi)存儲(chǔ)器中所存儲(chǔ)的程序。
美國(guó)專利4,462,067號(hào)的技術(shù)是在將裝有程序的機(jī)器與控制設(shè)備相連時(shí),把與聯(lián)機(jī)時(shí)從控制設(shè)備得到的信號(hào)相對(duì)應(yīng)的信息在顯示器上顯示出來(lái)。例如,顯示出“本設(shè)備使用了X年Y月Z日的專利申請(qǐng)書中的發(fā)明”等特定信息。當(dāng)顯示的內(nèi)容與規(guī)定的信息內(nèi)容不一致時(shí),就阻止裝有程序的機(jī)器在其后的使用。
此外,美國(guó)專利5,155,768號(hào)中所記載的技術(shù)是在打開主機(jī)電源時(shí)使主機(jī)內(nèi)的加密電路初始化。根據(jù)由加密電路的初始化所產(chǎn)生的信號(hào)來(lái)確定主機(jī)的操作。
接著,每次存取加密電路時(shí),都將從游戲卡中讀出的加密碼與控制設(shè)備所產(chǎn)生的加密碼進(jìn)行比較,當(dāng)不一致時(shí),根據(jù)來(lái)自加密電路的復(fù)位信號(hào)來(lái)終止控制設(shè)備的操作。
通過(guò)這類先有的加密檢查方法,用戶就擁有了只有某一控制設(shè)備才可以接受的軟件資源。但是,當(dāng)用戶買了新的控制設(shè)備來(lái)替換原有的控制設(shè)備時(shí),大多數(shù)軟件資源由于加密檢查的緣故而不能使用。
在這種情況下,用戶的資源不能得到有效地利用,即使作為社會(huì)資源,用戶也會(huì)比原來(lái)更不方便。
另一方面,近年來(lái)提供軟件的商業(yè)形式越來(lái)越多樣化。其中的一種服務(wù)形式就是通過(guò)有線電視等傳輸電路將游戲軟件送給已登記了的用戶。
在這種情況下,就不必考慮會(huì)傳送未經(jīng)軟件供應(yīng)公司許可的軟件即非法復(fù)制或制作的軟件的情況。這是因?yàn)橥ǔ魉驼吆吞峁┸浖墓局g都簽訂了許可合同。
因而,所傳送的軟件中就沒有必要包含用于加密檢查的加密檢查代碼等信號(hào)。所以,如果傳送不含加密檢查代碼等信號(hào)的軟件,那么對(duì)接受所傳送的軟件的用戶來(lái)說(shuō)就節(jié)省了將傳送到它們自己設(shè)備上的軟件卸載下來(lái)所需要的時(shí)間。
此外,在執(zhí)行所傳送的軟件時(shí)都進(jìn)行加密檢查,即使軟件是真的,也會(huì)增加用戶方面的時(shí)間負(fù)擔(dān),使效率降低。所以有必要為用戶解除這一負(fù)擔(dān)。
另一方面,用戶所有的游戲機(jī)中的控制設(shè)備可能是為了運(yùn)行通過(guò)有線電視等傳輸線傳送來(lái)的軟件的專用裝置,但更理想的是該設(shè)備可用于安裝在用戶單獨(dú)購(gòu)買的盒式存貯器及其類似裝置的軟件程序。
但是,在這種情況下,用戶所有的游戲機(jī)中的控制設(shè)備具有加密檢查的功能是必要的。由于軟件沒有設(shè)備的加密檢查功能所檢查的加密檢查碼,因而無(wú)法執(zhí)行通過(guò)有線電視等傳輸線傳送來(lái)的軟件。
所以,本發(fā)明的主要目的是提供一種執(zhí)行軟件程序的方法以及使用該方法的裝置,所述方法為了解決上述不方便的問題而放寬了對(duì)加密檢查功能的要求并能有效地利用軟件資源。
此外,本發(fā)明的另一目的是提供一種實(shí)質(zhì)上是終止具有加密檢查功能的游戲機(jī)控制設(shè)備的這項(xiàng)檢查功能從而使之能夠執(zhí)行傳送來(lái)的不含加密代碼的軟件程序的方法以及使用這種方法的裝置。
具體地說(shuō),本發(fā)明的目的是提供一種用來(lái)執(zhí)行處于采用了上述美國(guó)專利4,462,076號(hào)和5,155,768號(hào)中所記載的加密檢查方式的控制設(shè)備內(nèi)的軟件程序的方法及使用該方法的裝置。
進(jìn)一步說(shuō),本發(fā)明的目的是提供一種執(zhí)行軟件程序的方法,所說(shuō)的軟件程序包括用于將執(zhí)行程序數(shù)據(jù)的控制設(shè)備初始化的初始化例程(X);用于檢查程序數(shù)據(jù)是否為真的加密檢查例程(Y);以及在加密檢查例程(Y)中,當(dāng)判斷程序數(shù)據(jù)當(dāng)真時(shí),通過(guò)控制設(shè)備的CPU去執(zhí)行程序數(shù)據(jù)的程序執(zhí)行例程(Z);而且,在初始化例程(X)結(jié)束時(shí),通過(guò)對(duì)CPU的復(fù)位而跳過(guò)上述加密檢查例程序(Y)轉(zhuǎn)而執(zhí)行程序執(zhí)行例程(Z)。
再者,本發(fā)明的更進(jìn)一步的目的是提供一種用于實(shí)施上述軟件程序執(zhí)行方法的電路裝置。
本發(fā)明的其它目的可從以下的說(shuō)明中表現(xiàn)出來(lái)。
附圖是為了有助于對(duì)本發(fā)明的理解而準(zhǔn)備的,是專門用來(lái)說(shuō)明本發(fā)明的。本發(fā)明并不受附圖的任何限制。
圖1是應(yīng)用本發(fā)明之方法的游戲機(jī)控制設(shè)備實(shí)施例的框圖。
圖2是表示應(yīng)用本發(fā)明之方法的游戲機(jī)控制設(shè)備的地址空間的一個(gè)實(shí)例。
圖3是本發(fā)明之方法的操作流程圖(初始化和安全檢查例程)。
圖4是本發(fā)明之方法的操作流程圖(執(zhí)行游戲例程)。
圖5是應(yīng)用本發(fā)明之方法的第一實(shí)施例的電路圖。
圖6是圖5實(shí)施例之電路的操作時(shí)序圖。
圖7是應(yīng)用本發(fā)明之方法的第二實(shí)施例的電路圖。
圖8是圖7中移位寄存器27的結(jié)構(gòu)性實(shí)例的框圖。
圖9是圖7中計(jì)數(shù)器28的結(jié)構(gòu)性實(shí)例的框圖。
圖10是圖7實(shí)施例之電路的操作時(shí)序圖。
圖11是圖1中存儲(chǔ)體邏輯電路14的結(jié)構(gòu)性實(shí)例框圖。
圖12是應(yīng)用本發(fā)明之方法的第三實(shí)施例的電路圖。
圖13是圖12實(shí)施例之電路的操作時(shí)序圖。
圖14是應(yīng)用本發(fā)明之方法的第四實(shí)施例的電路圖。
圖1是應(yīng)用本發(fā)明之方法的游戲機(jī)控制設(shè)備的實(shí)施例的框圖。圖2是表示應(yīng)用本發(fā)明之方法的游戲機(jī)控制設(shè)備的地址空間的一個(gè)實(shí)例。
圖3是本發(fā)明的方法的操作流程圖(初始化和安全檢查例程),圖4是本發(fā)明之方法的操作流程圖(游戲執(zhí)行例程)。
圖1中,標(biāo)號(hào)1是作為程序執(zhí)行裝置的游戲機(jī)控制設(shè)備。標(biāo)號(hào)2是作為程序媒體的盒式存儲(chǔ)器,它通過(guò)ROM等存儲(chǔ)軟件程序數(shù)據(jù)。
再有,當(dāng)通過(guò)CATV等傳輸線向游戲機(jī)控制設(shè)備傳送游戲軟件等軟件時(shí),可以取代盒式存儲(chǔ)器2而接上連接適配器(圖中未示出)。連接適配器包括有存儲(chǔ)器,該存儲(chǔ)器用于存儲(chǔ)通過(guò)CATV等傳送并被裝入的軟件。
將盒式存儲(chǔ)器2恰當(dāng)?shù)夭迦肟刂圃O(shè)備1中,由控制設(shè)備去讀取存儲(chǔ)在盒式存儲(chǔ)器的ROM等中的軟件,并在經(jīng)過(guò)特定的處理過(guò)程之后去加以執(zhí)行。
必要時(shí)通過(guò)TV監(jiān)視器3來(lái)顯示圖像數(shù)據(jù)以便執(zhí)行軟件。本發(fā)明對(duì)軟件的種類不加以限制,但在后面的說(shuō)明中,都是以控制設(shè)備1作為游戲機(jī)控制設(shè)備、以游戲軟件作為典型的例子來(lái)說(shuō)明的。
游戲機(jī)控制設(shè)備1附帶有圖1未示出的操縱桿或控制盤等輸入裝置,它們用于根據(jù)TV監(jiān)視器3所顯示的游戲內(nèi)容來(lái)輸入使光標(biāo)移動(dòng)等的控制信息。
在游戲機(jī)控制設(shè)備中,總線10接有各種電路單元。即,在總線10上連接有CPU11、操作用的能進(jìn)行寫/讀的存儲(chǔ)器(工作RAM)12、存儲(chǔ)BIOS等操作系統(tǒng)用的只讀存儲(chǔ)器(BIOS·ROM)13、盒式存儲(chǔ)器2中存儲(chǔ)程序的ROM等存儲(chǔ)器(以下總稱為ROM)、使BIOS·ROM13與存儲(chǔ)體(BANK)相切換的存儲(chǔ)體邏輯電路14和視頻顯示處理器(VDP)15,以及控制游戲機(jī)控制設(shè)備1復(fù)位的復(fù)位邏輯電路16等。
圖2以與對(duì)本發(fā)明方法的說(shuō)明相對(duì)應(yīng)的方式顯示出了由CPU11管理的游戲機(jī)控制設(shè)備1的存儲(chǔ)器地址空間。即,在圖2中示出了WORK RAM12的地址空間區(qū)域和圖2(a)中的BIOS·ROM13的地址空間區(qū)域。
此外在BIOS·ROM13的地址空間區(qū)域內(nèi)還保留了為下述的加密檢查而設(shè)置的用來(lái)存儲(chǔ)加密檢查例程用的程序存儲(chǔ)空間。另外,位于BIOS·ROM13的地址空間和WORK·RAM12地址空間之間的區(qū)域,是保證使用VDP15等的地址空間,VDP15用于在TV監(jiān)視器3上顯示出圖象。
再有,游戲存儲(chǔ)卡2中的ROM區(qū)地址空間作為由存儲(chǔ)體邏輯電路以排他方式所選擇的BIOS·ROM13地址空間的一部分而具有固定的位置[參照?qǐng)D2(b)]。
下面,根據(jù)圖3、圖4的操作流程圖來(lái)說(shuō)明包括游戲機(jī)控制設(shè)備加密檢查功能在內(nèi)的操作。首先通過(guò)圖中未示出的開關(guān)打開游戲機(jī)控制設(shè)備1的電源(步驟S1)。其次,通過(guò)CPU的控制而起動(dòng)BIOS·ROM13中的BIOS(基本I/O系統(tǒng))軟件(步驟S2)。
通過(guò)BIOS對(duì)各部分初始化。即,在初始化過(guò)程中(例程X),將存儲(chǔ)在BIOS·ROM13中的加密檢查例程(Y)的程序轉(zhuǎn)送到WORK·RAM12中[參照?qǐng)D2(C)](步驟S3)。
在這里,存儲(chǔ)體邏輯電路14進(jìn)行由BIOS·ROM13地址空間到游戲存儲(chǔ)卡2的ROM地址空間的存儲(chǔ)體切換[參照?qǐng)D2(d)](步驟S4)。
再有,在圖1中,VDP15是一種用來(lái)控制在TV監(jiān)視器3上顯示圖像的控制器,其組成元件包括有寄存器。該寄存器的地址區(qū)域分布在圖2的(c)、(d)中作為存儲(chǔ)切換對(duì)象的BIOS·ROM13的地址空間和WORK·RAM12的地址空間以外的空間里。
在初始化例程(X)中,當(dāng)CPU11開始對(duì)VDP15存取數(shù)據(jù)時(shí),將在作為VDP15組成部分的用于加密系統(tǒng)的控制電路(TMSS)17中所規(guī)定的加密代碼,例如“SEGA”寫入上述TMSS17的寄存器中。其次,假定按照迄今為止的同樣的方法和裝置來(lái)執(zhí)行加密檢查例程(Y)。在加密檢查例程(Y)中,如圖2(C)所示,執(zhí)行向WORK·RAM12轉(zhuǎn)送的存儲(chǔ)在BIOS·ROM13中的加密檢查例程的程序。
所執(zhí)行的內(nèi)容例如和上述美國(guó)專利4,462,076的加密檢查是同樣的。執(zhí)行該加密檢查過(guò)程之后,在前述初始化例程(X)中,寫入TMSS17的寄存器的規(guī)定的加密代碼“SEGA”將在CPU11對(duì)VDP15進(jìn)行存取以后被取消。
如前所述,存儲(chǔ)邏輯電路14由BIOS·ROM13存儲(chǔ)體切換到游戲存儲(chǔ)卡2的ROM的存儲(chǔ)體。因此,可以由向WORK·RAM12傳送并存儲(chǔ)的加密檢查例程程序來(lái)對(duì)游戲存儲(chǔ)卡2的ROM進(jìn)行存取[參照?qǐng)D2(d)的箭頭]。
此后,讀出存儲(chǔ)在游戲存儲(chǔ)卡2ROM中的加密代碼,將存儲(chǔ)的內(nèi)容與真正的代碼“SEGA”比較(步驟S5)。
當(dāng)與規(guī)定的加密代碼“SEGA”一致時(shí),則通過(guò)VDP15在TV監(jiān)視器3上顯示出“PRODUCED BY OR UNDER LICENSE FROMSEGA”等表示游戲存儲(chǔ)卡2是真的(步驟S6)。此后便通過(guò)加密檢查流程(步驟S7)、游戲就可以進(jìn)行了,從而控制轉(zhuǎn)向游戲執(zhí)行例程(Z)。
另一方面,當(dāng)步驟S5中與加密代碼“SEGA”比較不一致時(shí),即游戲存儲(chǔ)卡2不是真的時(shí),就再次進(jìn)行存儲(chǔ)體切換(步驟S8)。因而,游戲存儲(chǔ)卡2的ROM地址空間會(huì)返回到BIOS·ROM13的地址空間。由此,BIOS的程序進(jìn)入循環(huán)狀態(tài)(步驟S9),CPU11處于掛起狀態(tài),從而游戲不能進(jìn)行。圖4是游戲執(zhí)行的操作流程。
一旦從加密檢查例程中釋放出來(lái)(步驟S7),就從起始地址處讀取存儲(chǔ)在游戲存儲(chǔ)卡2中的游戲程序(步驟S10)并開始游戲[參照?qǐng)D2(e)](步驟S11)。
游戲存儲(chǔ)卡2的ROM中,除了有游戲程序數(shù)據(jù)之外,還包含有將規(guī)定的代碼“SEGA”存儲(chǔ)到TMSS17的寄存器中去(例如,分配的地址是$A14000)的命令數(shù)據(jù)。根據(jù)該命令數(shù)據(jù)可將規(guī)定的代碼“SEGA”寫入有關(guān)的地址中(步驟S12)。
此后,便執(zhí)行游戲程序的主程序。在主程序中包含有讀出游戲者操作的操縱桿的狀態(tài)(步驟S13)、處理與上述狀態(tài)相對(duì)應(yīng)的使游戲人物活動(dòng)的數(shù)據(jù)(步驟S14)、根據(jù)這些數(shù)據(jù)在屏幕上將圖象顯示出來(lái)(步驟S15)等處理操作。
在此,TMSS17通常是將寫入到TMSS17的寄存器中的代碼和真正代碼“SEGA”進(jìn)行比較,如果在CPU11對(duì)VDP15存取數(shù)據(jù)時(shí)寫入了錯(cuò)誤的代碼,CPU11就停止運(yùn)行。而TMSS17的操作與CPU11的操作是相互獨(dú)立進(jìn)行的。
即,未存取VDP15時(shí)(步驟S151N),游戲便繼續(xù)進(jìn)行(步驟S152)。另一方面,當(dāng)存取VDP15時(shí)(步驟S151Y),通過(guò)TMSS17對(duì)寫入到TMSS17的寄存器的特定地址(上述$A14000地址)的代碼進(jìn)行比較判斷,看其是否為“SEGA”,如果不是“SEGA”(步驟S16N),則停止CPU11的操作、從而阻止游戲的進(jìn)行(步驟S17)。如果是“SEGA”,則游戲可以繼續(xù)進(jìn)行(步驟S152)。
如此所述,迄今為止的程序執(zhí)行方法是通過(guò)了加密檢查例程(Y)而允許游戲進(jìn)行的。為此,在卡式存儲(chǔ)器2的ROM中存儲(chǔ)的程序中,有必要存儲(chǔ)諸如“SEGA”這樣用于加密檢查的代碼。
進(jìn)而,在游戲執(zhí)行例程(Z)中,在游戲繼續(xù)過(guò)程中也有必要在檢查程序是否為真的程序數(shù)據(jù)內(nèi)包含″對(duì)VDP15進(jìn)行存取、將“SEGA”代碼寫入VDP15″這樣的命令數(shù)據(jù)。
所以,就上述事實(shí)而言,會(huì)出現(xiàn)這樣的現(xiàn)象在功能更新的新版游戲機(jī)控制設(shè)備中使用了加密代碼不是“SEGA”的其它代碼。
另外,如前所述,在通過(guò)CATV傳輸線傳說(shuō)達(dá)原本為真的軟件的情況下,程序數(shù)據(jù)中就沒有必要包含有加密檢查代碼。
在這種情況下,上述先有裝置的操作流程中就不能進(jìn)行游戲了。
所以在這種情況下,就不能有效地使用游戲存儲(chǔ)卡這一資源,造成社會(huì)經(jīng)濟(jì)損失。而且,對(duì)于應(yīng)用通過(guò)CATV等傳輸線路傳送軟件這樣一種新的服務(wù)形式,存在著利用效率低的問題。本發(fā)明的目的就是解決這一問題。本發(fā)明的第一實(shí)施例在本發(fā)明的第一實(shí)施例中,為了解決這一問題,在初始化例程(X)結(jié)束的同時(shí),將CPU11的操作復(fù)位(步驟S00[參照?qǐng)D3])。
即,在實(shí)施本發(fā)明之方法時(shí),將CPU11的復(fù)位操作(步驟S00)插入圖3所示的操作流程中。如參照?qǐng)D3所說(shuō)明的那樣,在初始化例過(guò)程(X)中,BIOS·ROM13存儲(chǔ)體向游戲存儲(chǔ)卡2存儲(chǔ)體切換(步驟S4)。進(jìn)而,在加密檢查例程(Y)中,讀出存儲(chǔ)在游戲存儲(chǔ)卡2ROM中的加密代碼,將該項(xiàng)存儲(chǔ)內(nèi)容與真正代碼“SEGA”進(jìn)行比較(步驟S5)。如果與真正代碼不一致,則從游戲存儲(chǔ)卡2切換至BIOS·ROM13(步驟S8)。
所以,更具體地說(shuō),在本發(fā)明的第一實(shí)施例中,CPU11的復(fù)位操作(步驟S00)至少應(yīng)在存儲(chǔ)體還處于游戲存儲(chǔ)卡2的軟件、即在步驟S8的操作結(jié)束之前進(jìn)行。
一旦測(cè)知CPU11的復(fù)位操作(步驟S00)已完成(步驟S01Y),CPU11立即開始從游戲存儲(chǔ)卡2讀出程序(步驟S10)。
因此,在插入了CPU11的復(fù)位操作(步驟S00)的情況下,CPU11檢測(cè)出復(fù)位,通過(guò)加密檢查例程(Y),便可以立即進(jìn)入游戲執(zhí)行例程(Z)圖5示出了實(shí)現(xiàn)本發(fā)明第一實(shí)施例的特征的一個(gè)實(shí)施例電路。圖6是圖5實(shí)施例電路的操作時(shí)序圖。
在圖5中,標(biāo)號(hào)1是程序執(zhí)行裝置、即如圖1所示的游戲機(jī)控制設(shè)備1。另外,虛線內(nèi)的電路是用于實(shí)施本發(fā)明之方法的實(shí)施例電路。按照本發(fā)明,該實(shí)施例電路不一定要設(shè)置在卡式存儲(chǔ)器2之內(nèi),也可以做成獨(dú)立的電路裝置。
圖5的(a)至(d)分別與圖6時(shí)序圖中的(a)至(d)相對(duì)應(yīng)。圖5(e)、(f)分別為電源和接地端。
現(xiàn)在,一旦打開圖中未示出的游戲機(jī)控制設(shè)備電源開關(guān)[參照?qǐng)D6(1)],從復(fù)位電路21輸出的復(fù)位信號(hào)(/MRES有效低電平)會(huì)在一段時(shí)間內(nèi)仍為低電平,并在其后的t1時(shí)刻變?yōu)楦唠娖?,該?fù)位信號(hào)從端子(a)輸入至作為程序執(zhí)行裝置的游戲機(jī)控制設(shè)備1以及由D觸發(fā)器(D-FF)等構(gòu)成的鎖存電路22的清零(CL)端子上。
復(fù)位電路21是一種定時(shí)電路,設(shè)置它的目的是為了消除接通游戲機(jī)控制設(shè)備1電源后直至電壓升高這一段不穩(wěn)定的時(shí)間間隔并協(xié)調(diào)整個(gè)系統(tǒng)的時(shí)序。
在復(fù)位信號(hào)/MRES變?yōu)楦唠娖降臅r(shí)刻t1,CPU11復(fù)位信號(hào)/VRES會(huì)上升,片選信號(hào)(/CEO有效低電平)從游戲機(jī)控制設(shè)備)輸入到端子(c)上[參照?qǐng)D6的(c)]。然后給出CPU11第一次存取卡式存儲(chǔ)器2的ROM的時(shí)序A(t2~t3的時(shí)間段)。
在上述時(shí)序A中,初始化例程(X)(圖3參照)的操作由CPU11的軟件操作來(lái)進(jìn)行。而且,通過(guò)CPU11的軟件操作,存儲(chǔ)單元從BIOS切換至卡式存儲(chǔ)器2[圖2的(b)、(c)]。
此后,鎖存電路22的Q輸出[如圖6(b)的高電平]會(huì)輸入到復(fù)位脈沖發(fā)生電路23。復(fù)位脈沖發(fā)生電路23則輸出具有取決于電阻R和電容C的固定脈沖寬度的信號(hào)。
因此,當(dāng)鎖存電路22在t3時(shí)刻上升的Q輸出被輸入時(shí),就會(huì)輸出具有達(dá)到t4時(shí)刻的脈沖寬度的信號(hào)。該信號(hào)到達(dá)反相器24并在其中反相。該反相信號(hào)輸出會(huì)成為CPU的復(fù)位信號(hào)/VRES,此信號(hào)在圖6的(d)的時(shí)序B(t3~t4的時(shí)間)中為低電平信號(hào)。
上述為低電平的CPU復(fù)位信號(hào)/VRES在t4時(shí)刻變成為高電平的CPU復(fù)位信號(hào)/VRES,而CPU11則通過(guò)端子(d)復(fù)位。這就是在圖3的操作流程中所進(jìn)行的步驟S00的操作狀態(tài),即成為如前所述跳過(guò)了加密檢查例程(Y)并通過(guò)加密檢查(步驟S7)的狀態(tài)。這樣,就可以開始游戲了(步驟S10)。
這時(shí),系統(tǒng)復(fù)位信號(hào)/MRES仍保持為高電平,CPU復(fù)位信號(hào)/VRES也仍舊保持為高電平。因而,CPU11因存取盒式存儲(chǔ)器2的ROM而讀出游戲程序[參照?qǐng)D6的(C)的時(shí)序C]并執(zhí)行該游戲程序。
根據(jù)如上的按照本發(fā)明的第一實(shí)施例的附加電路,不執(zhí)行加密檢查例程(Y)就可啟動(dòng)游戲程序。所以,即使在游戲存儲(chǔ)卡2的ROM13或傳送來(lái)的游戲軟件程序中沒有規(guī)定的加密代碼,照樣可以執(zhí)行游戲。
進(jìn)而,由于未執(zhí)行而略過(guò)了圖3所說(shuō)明的加密檢查例程(Y)。所以,在初始化例程(X)中,因CPU11在初始化過(guò)程中對(duì)VDP15的存取而寫進(jìn)TMSS17的寄存器的規(guī)定代碼“SEGA”并未被取消,而保持著原來(lái)的狀態(tài)。
因此,在圖4的游戲執(zhí)行例程(Z)中,為了在游戲過(guò)程中檢查程序是不是真的,即使在盒式存儲(chǔ)器2的ROM中沒有″將規(guī)定的代碼“SEGA”存儲(chǔ)到VDP15的寄存器中去″這樣的命令的情況下,由于規(guī)定的代碼“SEGA”并沒有消掉,而是按原樣保存了下來(lái),所以,通過(guò)TMSS17所進(jìn)行的代碼比較的結(jié)果總是為真的,因而CPU11的操作不會(huì)停止,游戲可以繼續(xù)進(jìn)行。
本發(fā)明的第二實(shí)施例第二實(shí)施例中特征在于,在BIOS·ROM13所進(jìn)行的初始化例程(X)(參照?qǐng)D3)中,控制中止CPU11的操作。
據(jù)此,在第一實(shí)施例中由CPU11的軟件處理所進(jìn)行的存儲(chǔ)體切換功能在第二實(shí)施例中變成由硬件來(lái)處理,而且,在CPU11復(fù)位之前,控制該項(xiàng)功能以便將存儲(chǔ)體切換至盒式存儲(chǔ)器2。因此,一旦CPU11復(fù)位立刻就可對(duì)盒式存儲(chǔ)器2進(jìn)行存取,從而跳過(guò)BIOS·ROM13所進(jìn)行的加密檢查例程(Y)去執(zhí)行游戲。
圖7是本發(fā)明的第二實(shí)施電路。該實(shí)施例的電路可與圖5的實(shí)施例電路一樣設(shè)在盒式存儲(chǔ)器2之內(nèi),也可以做成獨(dú)立的電路裝置。
圖8、圖9是表示構(gòu)成圖7電路的計(jì)數(shù)器27和移位寄存器28的結(jié)構(gòu)實(shí)例框圖。圖10是與圖8相對(duì)應(yīng)的操作時(shí)序圖。
在圖7中,圖中未示出的游戲機(jī)控制設(shè)備電源一接通,就將主機(jī)復(fù)位信號(hào)/MRES[參照?qǐng)D10的(a)]輸入至施密特觸發(fā)器電路25,在經(jīng)過(guò)一段時(shí)間后的t1時(shí)刻,施密特觸發(fā)電路25的輸出會(huì)變成高電平并通過(guò)反相器26輸入到計(jì)數(shù)器27,同時(shí)也輸入到移位寄存器28的清零端子/CLR。
這里的施密特電路25是為了消去游戲機(jī)控制設(shè)備1開機(jī)時(shí)電壓上升到穩(wěn)定電壓前的電壓不穩(wěn)定而設(shè)置的,它與圖5的復(fù)位電路21的功能相同。
將來(lái)自游戲機(jī)控制設(shè)備1時(shí)鐘信號(hào)VCLK輸入給計(jì)數(shù)器27和位移寄存器28。計(jì)數(shù)器27的結(jié)構(gòu)如圖8所示,它由14級(jí)D觸發(fā)器構(gòu)成。而且,最后一級(jí)D觸發(fā)器的輸出Q14被輸入到移位寄存器28的A端。
另一方面,移位寄存器如圖9所示,它由8級(jí)D觸發(fā)器構(gòu)成。所以,由施密特觸發(fā)器電路25的輸出、即控制設(shè)備復(fù)位信號(hào)/MRES在圖10的t1時(shí)刻將移位寄存器28的計(jì)數(shù)值清零。然后,根據(jù)計(jì)數(shù)器27最后一級(jí)D觸發(fā)器的輸出Q14來(lái)進(jìn)行移位。
進(jìn)而,移位寄存器的輸出QA、QB、QF、QG、QH通過(guò)反相器29、31以及與非門30、32進(jìn)行邏輯處理之后,就會(huì)提供以下時(shí)間信號(hào)CPU復(fù)位信號(hào)/VRES[圖10的(b)]、存儲(chǔ)體切換地址VA23~1、存儲(chǔ)體數(shù)據(jù)VD15~0以及寫入時(shí)間信號(hào)[圖10的(e)],如圖10所示。
也就是說(shuō),CPU復(fù)位信號(hào)/VRES在移位寄存器28計(jì)數(shù)到最大值時(shí)才輸出,并通過(guò)收集極開路緩沖器33輸入到游戲機(jī)控制設(shè)備中。即,CPU復(fù)位信號(hào)/VRES在t2時(shí)刻之前保持低電平,在t2時(shí)刻變成高電平。所以在t2時(shí)刻之前,CPU11不對(duì)存儲(chǔ)在盒式存儲(chǔ)器2的ROM中的游戲程序進(jìn)行存取。
另一方面、在t3到t4的這段時(shí)間內(nèi),三態(tài)緩沖器34、35分別輸出存儲(chǔ)體切換地址VA23~1、存儲(chǔ)體數(shù)據(jù)VD15~0。再有,該三態(tài)緩沖器34、35可以用收集極開路、漏極開路等門電路元件來(lái)替代。
這里,來(lái)自三態(tài)緩沖器34的存儲(chǔ)體切換地址VA23~1是$14100,它是對(duì)輸入方以固定方式給出的存儲(chǔ)體切換地址。還有,來(lái)自三態(tài)緩沖器35的存儲(chǔ)體數(shù)據(jù)也是對(duì)輸入方以固定方式給出的$0001。該$0001是向盒式存儲(chǔ)器2方向切換的存儲(chǔ)體數(shù)據(jù)。
再有,從門電路36、37輸出的CPU寫信號(hào)在t5到t6這段時(shí)間內(nèi)輸出。該CPU寫信號(hào)在游戲機(jī)控制設(shè)備中是用/LWR和/UWR來(lái)表示的,它通常處于高電平狀態(tài),而且,只有當(dāng)向低電平轉(zhuǎn)移時(shí)才發(fā)出該CPU寫信號(hào)。
這里,在CPU復(fù)位信號(hào)/VRES變成高電平之前,由于CPU11的操作處于停止?fàn)顟B(tài),所以/LWR和/UWR處于高電平狀態(tài)。與此相反,由于從附加電路向游戲機(jī)控制設(shè)備1以比較大的驅(qū)動(dòng)力給出使/LWR和/UWR向低電平轉(zhuǎn)移的信號(hào),因此會(huì)進(jìn)入CPU寫信號(hào)狀態(tài)。
圖11是圖1所示存儲(chǔ)體邏輯電路14的結(jié)構(gòu)性實(shí)例。標(biāo)號(hào)38是用于輸入存儲(chǔ)單元切換地址VA23~1并檢測(cè)和輸出存儲(chǔ)體切換命令$14100的地址檢測(cè)電路。
一旦向與非門電路39輸入地址檢測(cè)電路38的輸出信號(hào)和CPU的寫入信號(hào),就會(huì)向D觸發(fā)器40發(fā)出寫入觸發(fā)信號(hào)。這時(shí),可寫入D觸發(fā)器40的數(shù)據(jù)輸入端的數(shù)據(jù)。
在圖7的第二實(shí)施例中,如圖10的操作時(shí)序圖所示的那樣,在CPU寫信號(hào)(低電平的/UWR)期間,由于給出了存儲(chǔ)體切換命令$14100以及存儲(chǔ)體數(shù)據(jù)$0001,所以D觸發(fā)器會(huì)被置“1”,并將存儲(chǔ)體切換至盒式存儲(chǔ)器2。
再回到圖10來(lái)說(shuō)明,在t2時(shí)刻,CPU的復(fù)位信號(hào)/VRES為高電平,因此CPU被復(fù)位。這一狀態(tài)就是圖3操作流程所說(shuō)明的CPU復(fù)位狀態(tài)(步驟S00)。這時(shí),如前所述、由于存儲(chǔ)體被切換到了卡式存儲(chǔ)器2,因此,可與第一實(shí)施例一樣跳過(guò)加密檢查例程(Y),并直接從游戲存儲(chǔ)卡2中讀取游戲程序(步驟S10參照?qǐng)D4)。
因此,對(duì)于不含有加密檢查的游戲程序也可以開始游戲(步驟S111)。而且,通過(guò)同樣的電路設(shè)置,可以在TMSS17的寄存器中寫上真正代碼“SEGA”。
本發(fā)明的第三實(shí)施例
上述的第一、第二實(shí)施例中,在圖3的操作流程里,可以加以控制以便跳過(guò)加密檢查例程(Y),但在第二實(shí)施例中,在圖3的初始化例程(X)中、通過(guò)以與BIOS操作時(shí)序相配合的方式操作特定的信號(hào)線路從而使初始化例程(X)繼續(xù)下來(lái),因此總是能成功地通過(guò)加密檢查。
在BIOS·ROM內(nèi)部,以與游戲存儲(chǔ)卡2同樣的形式從地址號(hào)$100處開始記錄用來(lái)與游戲存儲(chǔ)卡2的內(nèi)容進(jìn)行比較的、作為原始數(shù)據(jù)的加密代碼“SEGA”代碼。
而且,在加密檢查例程(Y)中,若測(cè)知在游戲存儲(chǔ)卡2內(nèi)部的地址$100上存放著同樣的“SEGA”代碼,就解除加密檢查。
因此,在圖3流程的步驟4中,如果沒有從BIOS存儲(chǔ)體切換到卡式存儲(chǔ)器存儲(chǔ)體,那么BIOS的步驟5中就不與游戲存儲(chǔ)卡2內(nèi)部存儲(chǔ)的內(nèi)容、而與BIOS內(nèi)部所存放的“SEGA”代碼進(jìn)行比較。在這種情況下,由于是從地址$100開始處記錄“SEGA”的,所以必定能取得一致,加密檢查就會(huì)被解除(步驟S7參照?qǐng)D3),因而可在游戲執(zhí)行例程(Z)中進(jìn)行游戲。
該第三實(shí)施例與第二實(shí)施例相比較具有附加電路簡(jiǎn)單這一優(yōu)點(diǎn)。下面,就附加電路的實(shí)施例進(jìn)行說(shuō)明。
圖12是本發(fā)明的第三實(shí)施例電路的結(jié)構(gòu)框圖,與前述實(shí)施例一樣,它可以放在游戲存儲(chǔ)卡2內(nèi)或者做成獨(dú)立的電路裝置。圖13是與此對(duì)應(yīng)的操作時(shí)序圖。
圖中未示出的游戲機(jī)控制設(shè)備1的電源一接通,因施密特觸發(fā)器電路25而形成有上升時(shí)間點(diǎn)的復(fù)位信號(hào)/MRES會(huì)被輸入到鎖存電路41的清零端/CL上。鎖存電路41與圖5的鎖存電路22是一樣的。
復(fù)位信號(hào)/MRES變成高電平之后,來(lái)自CPU11的存儲(chǔ)體切換地址信號(hào)(VA23~VA1)輸入到存儲(chǔ)體邏輯電路14,同時(shí)也輸入到附加電路的存儲(chǔ)體切換地址信號(hào)檢測(cè)譯碼電路42中。
這時(shí),在以上說(shuō)明了的存儲(chǔ)體邏輯電路14的詳細(xì)實(shí)施例(圖11)中,來(lái)自CPU11的存儲(chǔ)體切換地址信號(hào)(VA23~VA1)會(huì)輸入到地址譯碼電路38中。地址譯碼電路38檢測(cè)存儲(chǔ)體切換的地址信號(hào)(VA23~VA1),而有效低電平的信號(hào)則輸入到與非門39的一個(gè)輸入端上。
同時(shí),附加電路的地址信號(hào)檢測(cè)譯碼電路42中也能檢測(cè)存儲(chǔ)體切換的地址信號(hào)(VA23~VA1)。這時(shí),有效低電平的信號(hào)通過(guò)門電路43輸入到開漏極緩沖器44的一端。在這種情況下,開漏極緩沖器44由于其輸入端接在+V電位上,所以會(huì)輸出作為數(shù)據(jù)的邏輯值1。
該輸出通過(guò)游戲機(jī)控制設(shè)備1中的總線10送到存儲(chǔ)體邏輯電路14的數(shù)據(jù)輸入端D。這時(shí),CPU11也以同樣的方式將存儲(chǔ)體從BIOS切換到盒式存儲(chǔ)器并將數(shù)據(jù)邏輯值1送到數(shù)據(jù)輸入端D。
因此,邏輯值1和邏輯值0都輸入到存儲(chǔ)體邏輯電路14的數(shù)據(jù)輸入端D,因此互相沖突起來(lái),但是附加電路的驅(qū)動(dòng)功率要比CPU11的驅(qū)動(dòng)功率大,所以從附加電路來(lái)的邏輯輸出0有效。
再有,在圖11中,在地址譯碼電路38測(cè)知來(lái)自CPU11的存儲(chǔ)體切換地址且來(lái)自CPU11的寫信號(hào)已被傳送的情況下,觸發(fā)信號(hào)會(huì)從與非門39輸入到D觸發(fā)器40的觸發(fā)輸入端子。
因此,鎖存電路即D觸發(fā)器40會(huì)設(shè)置成在數(shù)據(jù)輸入端D上出現(xiàn)的邏輯值0。這時(shí)在圖3的步驟S4中,存儲(chǔ)體不會(huì)向盒式存儲(chǔ)器方面切換,而且仍處在BIOS·ROM的原有狀態(tài)[參照?qǐng)D13的(d)]。
據(jù)此,在繼續(xù)進(jìn)行的加密檢查例程(Y)中,會(huì)檢測(cè)到“SEGA”代碼一致性(步驟S5)。因此能通過(guò)加密檢查(步驟S7),從而開始游戲。
再者,在不使用本發(fā)明的情況下,由于未使來(lái)自CPU11的數(shù)據(jù)無(wú)效,并使在圖13(d)中虛線所示的存儲(chǔ)體切換到盒式存儲(chǔ)器,因此作為原有的操作只檢測(cè)與盒式存儲(chǔ)器2中的“SEGA”代碼的一致性/不一致性。
本發(fā)明的第四實(shí)施例圖14是本發(fā)明的第四實(shí)施例電路的框圖。如前所述,在圖12的第三實(shí)施例中,當(dāng)從CPU11中產(chǎn)生存儲(chǔ)體切換地址VA23~VA1時(shí),存儲(chǔ)體數(shù)據(jù)會(huì)被當(dāng)作無(wú)效數(shù)據(jù)而送往存儲(chǔ)體邏輯電路14。
與此相反,在第四實(shí)施例中,由于把存儲(chǔ)體切換地址當(dāng)作無(wú)效地址,所以在地址譯碼電路38中不檢測(cè)存儲(chǔ)體切換地址VA23~VA1。
當(dāng)?shù)刂诽?hào)$14100是進(jìn)行存儲(chǔ)體切換的控制地址時(shí),作為對(duì)進(jìn)行存儲(chǔ)體轉(zhuǎn)換的控制,輸出來(lái)自CPU11的與地址$14100相對(duì)應(yīng)的地址代碼VA23~VA1,并通過(guò)總線將該代碼輸入到存儲(chǔ)體切換電路14。
同時(shí),地址代碼VA23~VA1通過(guò)總線也被送到圖14的電路的存儲(chǔ)體切換地址檢測(cè)電路42。在圖14的實(shí)施例中,來(lái)自CPU11的地址代碼VA23~VA1除VA14之外的VA23~VA15以及VA13~VA1均被輸入到地址檢測(cè)電路42。
也就是說(shuō),由于地址是用16進(jìn)制表示的,所以當(dāng)表示地址$14100時(shí),第14位的VA14為“1”。此外,在地址$10100中,VA14為“0”。因此,將除VA14之外的VA23~VA15以及VA13~VA1均輸入地址檢測(cè)電路42,無(wú)論地址是$14100還是$10100都輸出有檢測(cè)輸出信號(hào)。
這時(shí),由于圖12中所述的鎖存電路41、門電路43以及三態(tài)緩沖器44與圖14中的相同,而且三態(tài)緩沖器44的輸入端接地,所以,把VA14輸出為“0”并通過(guò)總線送到游戲機(jī)控制設(shè)備1。
另一方面,來(lái)自CPU11的存儲(chǔ)單元切換地址用的地址代碼VA23~VA1會(huì)出現(xiàn)在總線上,而且從CPU11來(lái)的VA14為“1”。由于從三態(tài)緩沖器44來(lái)的VA14為“0”,因此會(huì)發(fā)生沖突。但是,在這種情況下由于三態(tài)緩沖器44的驅(qū)動(dòng)功率要比CPU11的大,所以VA14被強(qiáng)制為“0”。
在這種情況下,在圖11所示的存儲(chǔ)體邏輯電路內(nèi)的地址譯碼電路38中不對(duì)存儲(chǔ)體切換地址進(jìn)行檢測(cè)。所以,即使來(lái)自CPU的存儲(chǔ)體數(shù)據(jù)為“1”以便切換到卡式存儲(chǔ)器,D觸發(fā)器40的狀態(tài)也不會(huì)發(fā)生變化,存儲(chǔ)體仍保留在BIOS·ROM一邊。
因此,與圖12的第三實(shí)施例中已說(shuō)明了的情形一樣,可以進(jìn)行與BIOS·ROM本身的“SEGA”代碼的比較[參照?qǐng)D3、步驟S5],能夠通過(guò)加密檢查例過(guò)程(Y)[參照?qǐng)D3、步驟S7],并開始游戲。
根據(jù)上述實(shí)施例對(duì)本發(fā)明進(jìn)行了說(shuō)明,本發(fā)明通過(guò)附加簡(jiǎn)單的電路就能實(shí)現(xiàn),而且按照本發(fā)明,例如即使在使用不同機(jī)型的硬件情況下,也可以不受加密檢查的制約而有效地利用軟件程序資源。
此外,按照本發(fā)明,在軟件的傳送服務(wù)業(yè)中,所傳送的軟件里沒有必要包含加密檢查代碼,這樣對(duì)接受傳送的用戶來(lái)說(shuō)可以高效率的接受傳送來(lái)的軟件。
再有,在上述實(shí)施例的說(shuō)明中,專門以游戲軟件程序?yàn)閷?duì)象進(jìn)行了說(shuō)明,但是,本發(fā)明使用的對(duì)象不局限于這樣的程序。進(jìn)而對(duì)于存儲(chǔ)程序的媒體,除了卡式存儲(chǔ)器類型之外,其他的例如即使是存儲(chǔ)在CD-ROM(光盤存儲(chǔ)器)中的程序,只要是與本發(fā)明的思想相同,都屬于本發(fā)明保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種軟件程序的執(zhí)行方法,它包括以下步驟將包含在裝有CPU(11)的控制設(shè)備(1)中的BIOS·ROM(13)的存儲(chǔ)體切換到由CPU(11)執(zhí)行的軟件程序的存儲(chǔ)體;至少在存儲(chǔ)體處于該軟件程序的時(shí)間間隔內(nèi)將該CPU(11)的操作復(fù)位;以及一旦CPU(11)被復(fù)位,便通過(guò)該CPU(11)開始讀取該軟件程序。
2.一種軟件程序執(zhí)行方法,它包括初始化例程(X),此例程包括的步驟是將包含在裝有CPU(11)的控制設(shè)備(1)中的BIOS·ROM(13)的存儲(chǔ)體切換到存儲(chǔ)在外部存儲(chǔ)器(2)中的軟件程序的存儲(chǔ)體;加密檢查例程(Y),以檢查上述軟件程序是否為真的;以及當(dāng)在加密檢查過(guò)程(Y)中已判斷出所述軟件程序?yàn)檎娴那闆r下,通過(guò)控制設(shè)備(1)的CPU(11)去執(zhí)行該軟件程序的程序執(zhí)行例程(Z);在所說(shuō)的軟件程序執(zhí)行方法中,根據(jù)至少在存儲(chǔ)體處于存儲(chǔ)在外部存儲(chǔ)器(2)的軟件程序一邊的時(shí)間里,將CPU(11)復(fù)位,從而通過(guò)加密檢查例程(Y),而在程序執(zhí)行過(guò)程(Z)中,則由CPU(11)來(lái)執(zhí)行所述的軟件程序。
3.根據(jù)權(quán)利要求1或2所述的軟件程序執(zhí)行方法,其特征在于,它通過(guò)硬件電路來(lái)進(jìn)行下列步驟在電源接通后的規(guī)定時(shí)間之內(nèi)停止CPU(11)的操作,并將BIOS·ROM(13)的存儲(chǔ)體切換到所述軟件程序的存儲(chǔ)體一邊。
4.根據(jù)權(quán)利要求2所述的軟件程序的執(zhí)行方法,其特征在于,存儲(chǔ)在外部存儲(chǔ)器(2)中的軟件程序是通過(guò)CATV等傳輸線來(lái)傳送的并可卸載于外部存儲(chǔ)器(2)中。
5.一種附加在具有執(zhí)行軟件程序的CPU(11)的控制設(shè)備(1)的電路裝置,其特征在于產(chǎn)生將CPU復(fù)位的CPU復(fù)位信號(hào)/VRES的裝置(22,23),該信號(hào)是在電源接通時(shí)所產(chǎn)生的用于復(fù)位控制設(shè)備(1)的控制設(shè)備復(fù)位信號(hào)/MRES和從該控制設(shè)備(1)來(lái)的片選信號(hào)/CEO的基礎(chǔ)上產(chǎn)生的,在所述的電路裝置中,CPU復(fù)位信號(hào)/VRES是在該片選信號(hào)/CEO延遲一段規(guī)定的時(shí)間后才輸出的。
6.一種附加在具有執(zhí)行軟件的CPU(11)的控制設(shè)備(1)上的電路裝置,其特征在于當(dāng)電源接通后在使控制設(shè)備(1)復(fù)位的控制設(shè)備復(fù)位信號(hào)/MRES基礎(chǔ)上產(chǎn)生CPU復(fù)位信號(hào)/VRES的裝置,而所說(shuō)的CPU復(fù)位信號(hào)則在規(guī)定時(shí)間后將CPU(11)復(fù)位;以及在所述規(guī)定的時(shí)間內(nèi)產(chǎn)生存儲(chǔ)體切換地址、存儲(chǔ)體數(shù)據(jù)以及寫入信號(hào),并將它們送到控制設(shè)備(1)中去的裝置。
7.一種附加在具有執(zhí)行軟件的CPU(11)的控制設(shè)備(1)上的電路裝置,其特征在于檢測(cè)從CPU(11)來(lái)的存儲(chǔ)體切換地址的檢測(cè)裝置(42);以及當(dāng)存在有來(lái)自檢測(cè)裝置(42)的存儲(chǔ)體切換地址的檢測(cè)輸出信號(hào)時(shí),強(qiáng)制地將來(lái)自CPU(11)的用于切換到BIOS·ROM一邊的存儲(chǔ)體數(shù)據(jù)替換成用于切換到所述軟件一邊的存儲(chǔ)體數(shù)據(jù)的裝置(41、43、44)。
8.一種附加在具有執(zhí)行軟件的CPU(11)的控制設(shè)備(1)上的電路裝置,其特征在于檢測(cè)來(lái)自CPU(11)的存儲(chǔ)體切換地址的檢測(cè)裝置(42);以及當(dāng)存在有來(lái)自所述檢測(cè)裝置(42)的存儲(chǔ)體切換地址的檢測(cè)輸出信號(hào)時(shí),強(qiáng)制地將來(lái)自CPU(11)的存儲(chǔ)體切換地址替換成與該存儲(chǔ)體切換地址不同的地址的裝置(41、43、44)。
全文摘要
一種程序執(zhí)行方法以及實(shí)施這種方法的電路裝置,所說(shuō)程序執(zhí)行方法能有效地利用存儲(chǔ)于安裝在硬件主機(jī)上的外部存儲(chǔ)器的軟件程序資源,它包括初始化例程,此例程包括將帶有CPU的控制設(shè)備內(nèi)的BIOS·ROM的存儲(chǔ)體切換到軟件程序的存儲(chǔ)體等步驟;加密檢查例程,此例程用于檢查軟件程序是否為真;以及程序執(zhí)行例程,此例程在加密檢查例程已判斷出軟件程為真時(shí),通過(guò)控制設(shè)備的CPU去執(zhí)行所說(shuō)的軟件程序。
文檔編號(hào)G06F21/78GK1103748SQ94190113
公開日1995年6月14日 申請(qǐng)日期1994年3月2日 優(yōu)先權(quán)日1993年3月10日
發(fā)明者長(zhǎng)毅 申請(qǐng)人:世嘉企業(yè)股份有限公司