#5349/5400 ソフトウェア ★タイトル (CQF15666) 94/ 8/19 3: 2 ( 65) 893>IBM486SLC2キャッシュ制御 / えらー15 ★内容 ERCACHE v2.08で採用しているキャッシュ制御方法です。 PK486SQ.COMと同じはず…  設定メイン invd mov eax,para_1a mov edx,para_1b mov ecx,1001h byte 0fh,30h mov eax,para_0a mov ecx,1000h byte 0fh,30h mov eax,20000000h mov ecx,1004h byte 0fh,30h mov eax,para_2a xor edx,edx mov ecx,1002h byte 0fh,30h invd  設定パラメータ para_0a dword 0000 0000 0000 0000 xxxx xxxx x001 0010b 0001 0100 1 : cache ON 0000 0000 0 : cache OFF para_1a dword xxxx xxxx xxxx xxxx yyyy yyyy yyyy yyyyb x:1MB以下のリードオンリー領域(各ビット64KB単位で1MB)既定値0 y:1MB以下のキャッシュ領域(各ビット64KB単位で1MB)             既定値 00FFh(00000〜7FFFF)             バンク 0300h(80000〜9FFFF) /Iオプション参照 BIOS 8000h(F0000〜FFFFF) /Rオプション参照 para_1b dword 0000 0000 0000 0000 0000 0000 xxxx xxxxb x:1MB以上のキャッシュ領域(64KB単位)既定値D0h(13MB) para_2a dword 0000 0xxx 0000 0000 0000 0000 0000 0000b 011 : 4倍クロック 000 : 2倍クロック  なお、設定時に仮想86だった場合はプロテクトモードに移ってから 設定した方が良いようです。ERCACHEでは仮想86ってことが無いので ややこしい処理は省いてます。 CPU判別方法 (1)80486まで振り分ける(Cx486は外しておくこと) (2)word 0:486h==0のとき、もとが286機なので、可能性有り word 0:486h!=0かつb15==0のとき、もとが386機なので、可能性無し (PK-X486S50はPC-9801RX/DX/UX/EX/VX用) (3)この時点でIBM CPUのみ残っているはず。以下の処理を実行する mov ecx,1001h byte 0fh,32h mov eax,0ffffffffh mov edx,0ffffffffh mov ecx,1001h byte 0fh,30h mov ecx,1001h byte 0fh,32h test edx,00ffff00h pushf mov ecx,1001h byte 0fh,30h popf .if ZF==1 IBM486SLC2 ERCACHEでは判断してません。(^_^;)テヌキ @ 02:41 19.Aug.'94 (Fri) By *Error15 (JH332233・CQF15666・GCE02626) @