Last updated: "2002/05/19 19:19:00 +0900"

小松平良樹プレゼンツ

CASSIOPEIA FIVA MPC-103 でメインメモリを 256MB にしてみよう+α

CASSIOPEIA FIVA MPC-103 で、メインメモリを 256MB にする方法を述べます。 また、いままでは 64MB 分しか認識しなかった 128MB SODIMM (「CKE 改造」を 適用できない、1module_bank 構成の 128MB SODIMM) を、ひょっとすると 128MB 全容量認識できるようになるかもしれません。

MPC-102 に対する内容とほぼ同じです。次の点が異なります。

  1. BIOS がファイルで提供されていない
  2. BIOS が異なる

もろもろの注意事項に関しては、 256MB MEMORY ON FIVA MPC-102 と同様です。 「CKE 改造」などの基本的な考え方も同様ですから、まずはそちらを充分理解した上で、 本 HTML 文書をご参照ください。

FLASH ROM を書き換えるのは、非常に危険な行為です。失敗すると、MPC-103 が二度と起動しなくなる 可能性があります。本 HTML 文書を参照して実行した結果、何が起ころうとも、 ご自身の責任において処理してください。私は責任をとりませんし、カシオも無関係です。 万が一失敗したとして、カシオに修理を求めるのは、本来の業務に支障を与えることになります。 失敗して起動しなくなった場合でも、カシオに修理を求めないでください。

本 HTML 文書に関する質問を、カシオに問い合わせることはしないでください。 私が勝手に行ったコトであり、カシオに問い合わせを行うと、 本来の業務に支障を与えることになります。 迷惑をかけると、今後 (私もあなたも) このような活動ができなくなる可能性があります。

「メモリマネージャが動いていない、日本語表示もされない生 MS-DOS 上」で 作業する必要があると思います。WindowsMe で、この状態を作ることができるかどうか、 私は知りません。私は Windows98SE によりこの状態を作り、作業しました。

時間とやる気の問題から、情報が足りないかもしれません。ご意見、苦情などは謹んでお受けしますが、 それが反映されるかどうかはわかりません。

もしも万が一、魔がさして実行してみたならば、結果を FIVA メーリングリスト に ご報告いただければ幸いです。

MPC-102 と異なる点

MPC-102 と異なる点は、上で軽く触れましたが、詳しくは次のようになります。

BIOS がファイルで提供されていない

MPC-102/101 では、カシオがファイルで新しい BIOS を提供してくれていました。 そのため、そのファイルに対して差分を適用しましたが、MPC-103 ではこの方法が採れません。 現在 FLASH ROM に格納されているバイナリをファイルに書き出して、それに対して差分を適用する ことにしました。

元に戻す際には、この「現在 FLASH ROM に格納されているバイナリ」を書き戻すことになります。 FLASH ROM から書き出したファイルは、気まぐれに削除してしまわないようにご注意ください。

BIOS が異なる

前節とも関連しますが、MPC-102/101 とは BIOS が異なります。 MPC-102/101 用の BIOS を MPC-103 に書きこんでしまうと、おそらくとっても困ったことが起こるでしょう。 起動しなくなる可能性があると思います。興味があっても試さないほうがよいでしょう。

BIOS が異なりますので、差分ファイルも異なります。MPC-102/101 用の差分ファイルを使用しないよう、 ご注意ください。

差分適用時の注意

元ファイルの生成時刻チェックを省略させているため、元のファイルが不正であっても、 一見、差分適用に成功したように見えてしまいます。 各ファイルの CRC の確認をお忘れなく。

用意するもの

MPC-103 の 256MB 化 (あるいは 128MB+32MB 化) に必要なものは次の通りです。

  1. MPC-103 本体 (BIOS version 2.0.9JK)
  2. 256MB (128MB) SODIMM
  3. CRC 計算ツール 'crc'
  4. 103hack アーカイブ
  5. FLASH ROM 書きこみツール 'awdflash.exe'

本 HTML 文書で対象とする MPC-103 の BIOS のバージョンは、2.0.9JK です。 それ以外のバージョンが存在するかどうかわかりませんが、2.0.9JK 以外は 対象としていません。他のバージョンに対して差分を適用すると、誤ったバイナリが 出来上がります。間違っても、誤ったバイナリを FLASH ROM に書きこまないように。

「CKE 改造」は、MPC-102/101 と同様です。ここで、「CKE 改造」を施した SODIMM の動作について、 MPC-102/101 では動作しても MPC-103 では動作しない、という現象が、FIVA メーリングリストで 報告されています。MPC-103 は、MPC-102/101 に比べて、SODIMM を選り好みするようです。 どんな SODIMM が MPC-103 に適するのかは、まだわかっていません。

CRC 計算ツールは、http://www.vector.co.jp/soft/dos/util/se000791.html で紹介されている "crc" を使いました。日下部さんありがとうございます。

103hack アーカイブは、次から取得してください。

103hack アーカイブ 20020301 版

103hack アーカイブには、次が含まれます。

  1. FLASH ROM 吸出しツール 103hack.exe
  2. 103hack.exe のソース (参考)
  3. BIOS 256MB 用 自己展開差分 256,COM
  4. BIOS 128MB 用 自己展開差分 128.COM

103hack.exe のソースを同梱しています。コンパイルには LSIC 試食版、LSIC330C を使用しました。 ありがとうございます。

菅原尚伸さんの、「PCI デバッグライブラリ for DOS」を使用しています。ありがとうございます。 このライブラリの再配布についての条件が見つからなかったため、同梱していません。 このライブラリがないと、コンパイルできません。 私は次の書籍の CD-ROM から入手しました。

TECHI VOL.3  PCI デバイス設計入門
2001年 4月1日 第3版  CQ 出版
ISBN4-7898-3314-3

差分生成には amapro ワキチ さんの WSP version 1.50 を使用しました。 http://www.vector.co.jp/soft/dos/util/se000818.html?l にて紹介されています。 また、元ファイルの生成時刻が一定ではないので、 http://www.vector.co.jp/soft/dos/util/se018498.html?l で紹介されている 毎黒仮節渡万 さん の WSPST 「WSP自己展開差分 タイムスタンプ比較抑制ツール」を使用しました。 ありがとうございます。

awdflash.exe は、MPC-102/101 用の BIOS 書き換えのためのアーカイブファイルに同梱されています。 カシオのサポート web ページから取得してください。

実作業

もろもろ準備が整いましたら、実作業に入りましょう。 実作業は、次のような流れになります。

  1. オリジナル BIOS を読み出して 'BIOSRAW.BIN' を得る
  2. 作業領域をきれいにして 'BIOSORG.BIN' を得る
  3. 差分適用を行い 209JK2P0.BIN / 209JK1P0.BIN を得る
  4. FLASH ROM に書きこむ
以下、それぞれの項目について説明します。

オリジナル BIOS を読み出して 'BIOSRAW.BIN' を得る

103hack.exe を使用して、FLASH ROM の内容をファイルに書き出します。 メモリマネージャが動いていない、日本語表示もされない、 生 MS-DOS 上で実行するのが安全だと思います。 実際には、それらが有効でも動くには動きますが、なにか不具合が出るかもしれません。 なお、Windows 上では実行できません。

103hack read

'read' を引数とすると、FLASH ROM の内容を、そのままファイル 'BIOSRAW.BIN' に書き出します。

作業領域をきれいにして 'BIOSORG.BIN' を得る

103hack.exe を使用して、'BIOSRAW.BIN' 内の作業領域部分をきれいにします。

103hack clean

'BIOSRAW.BIN' を読み、作業領域部分をきれいにして、'BIOSORG.BIN' を生成します。

出来上がった 'BIOSORG.BIN' が正しい内容であるかどうか、crc を確認してください。 次のようであれば、おそらく正しいと考えられます。

D:\home\komatsu\103>crc biosorg.bin
613aa28f  262144 biosorg.bin

crc が異なる場合は、FLASH ROM の読み出しに失敗しています。そのファイルは 何の意味も持ちません。私の手元では失敗したことはありませんが、念のため 確認することを強くお勧めします。

'BIOSORG.BIN' は、元の状態に戻すときに必要です。大事に大事に保存しておいてください。

差分適用を行い 209JK2P0.BIN / 209JK1P0.BIN を得る

'BIOSORG.BIN' に対して、差分を適用します。差分とその種類、生成されるファイルは 次の通りです。

用途 差分 生成ファイル
256MB 認識 256.COM 209JK2P0.BIN
128MB + 32MB 認識 128.COM 209JK1P0.BIN

209JK の後の文字は、256MB か 128MB か、patch level はいくつか、というつもりで 付けました。

それぞれの (必要な *.bin の) crc を確認してください。 次のようであれば、おそらく正しいと考えられます。

D:\home\komatsu\103\1>crc 209jk2p0.bin
f9908575  262144 209jk2p0.bin

D:\home\komatsu\103\1>crc 209jk1p0.bin
8c3356b3  262144 209jk1p0.bin

FLASH ROM に書きこむ

できあがった 209JK2P0.BIN / 209JK1P0.BIN (*.COM ではない) を、 awdflash.exe を使用して FLASH ROM に書きこんでください。 このときはたぶん、本当に、「メモリマネージャが動いていない、 日本語表示もされない生 MS-DOS 上」(*A) で作業する必要があると思います。

しかし、MPC-103 は WindowsMe プリインストールですよね。WindowsMe で、(*A) の状態 を作り出すことができるかどうか、私は知りません。私は Windows98SE で作業しました。

awdflash.exe に与えるオプションの意味は、私は知りません。 私は、MPC-102/101 用の BIOS 更新用アーカイブファイルに入っている、 UP146JK.BAT と同じオプションを与えて、FLASH ROM の書きこみを行いました。

awdflash.exe に、間違って *.COM を与えないように。与えるのは *.BIN です。

209JK2P0.BIN, 209JK1P0.BIN それぞれ、BIOS 起動時の version 表記をオリジナルから 変更しています。次のようになります。

BIOS version 表記
209JK2P0.BIN 2.0.9JK_256pl0
209JK1P0.BIN 2.0.9JK_128pl0

元の状態に戻すには

元の状態に戻すには、'BIOSORG.BIN' を FLASH ROM に書きこめばよいです。

人として (機械を手放すときの注意)

FIVA MPC-10x から離れる人々が多く見られる今日この頃。 さびしいものですが、まあそれもあなたの選んだ道です。またいつかどこかでお会いすることもあるでしょう。

BIOS にパッチを当てた機械を手放すときには、次の人にその旨お伝えください。 必要がなければ、元の状態に戻して渡すのがよいでしょう。

また、オリジナルの BIOS はあなたしか持っていません (カシオのサイトでも 公開されていません) から、そのファイル 'BIOSORG.BIN' を次の人にお渡しください。

業者に下取りに出すときにも、同様のことを行ってください。

謝辞

MPC-103 の 256MB 化は、さまざまな方々、ソフトウェア、モノのご協力によって実現されました。 特に以下の方々、ソフトウェア、モノに感謝。

非常に多くの情報を提供してくださった T.Ogasawara さん、もろもろのアドバイスを下さった matobaa さん。

本文中で使用したソフトウェア、参考にした書籍。

modbin, cbrom。

「突撃実験室」

こんな突込みどころを持った製品を世の中に送り出してくれた方々。 :P

終わりに

幸運を祈る。

MPC-103 では 256MB+32MB が実現可能なようだ

上で述べた 256MB 化は、32MB の本体内蔵 RAM は使用しません。そのため、 RAM の総容量は、288MB ではなく 256MB となります。

私は MPC-102 しか持っていません。 MPC-102 で 288MB を使用しようとすると、正常動作しません。 「正常動作しない」とは、次のような現象です。

しかし、MPC-103 の CPU である GeodeGX1 は、MPC-102 の GeodeGXLV とは 違って、ひょっとすると、288MB を使用できるのかもしれません。

ただし、上記の通り私は MPC-102 しかもっていないため、動作確 認ができていません。もしも試してみるのならば、自己責任で。 2度と起動しなくなる可能性は十二分にあります。よろしくどうぞ。

MPC-103 で 288MB を使ってみよう

'BIOSORG.BIN' に対して、次の差分を適用します。

288MB 用パッチ アーカイブファイル 209JK3P0_20020417.LZH

209JK3P0_20020417.LZH には、288MB を使用するためのパッチ 209JK3P0.COM が含まれています。他のパッチと同様、 amapro ワキチさんの WSP version 1.50 と、毎黒仮節渡万 さんの WSPST 「WSP自己展開差分 タイムスタンプ比較抑制ツール」を使用して生成しました。

BIOSORG.BIN に対して、209JK3P0.COM を適用すると、 288MB 版 BIOS である 209JK3P0.BIN が生成されます。crc は次の通りです。

[D:\home\komatsu\103\pl_\tmp1]crc 209JK3P0.BIN
f2523df0  262144 209JK3P0.BIN

209JK3P0.BIN を awdflash.exe で書き込み再起動すると、ひょっとすると 288MB を使用できるようになるかもしれません。

awdflash.exe に、間違って *.COM を与えないように。与えるのは *.BIN です。

BIOS 起動時の version 表記は、2.0.9JK_288pl0 に変更しています。

正常動作しなかった場合、SODIMM を外すと、32MB で正常動作する ハズです (保証するものではありません)。

209JK3P0.BIN が正常動作しなかった場合は、適切な BIOS を書きこんでください。 そのときは念のため、電源 OFF → SODIMM を外す → 電源 ON で 動かした上で、BIOS の更新を行うのがよいでしょう。

SODIMM がインストールされている状態で正常動作しない場合でも、 MS-DOS は動くようですが、その状態で BIOS の更新が正常に行え るかどうかが疑わしいためです。

おわり

MPC-103 の 288MB 化は、できるかもしれないけども、できなかった場合の フォローが手間だなあと思い、封印していたというか忘れていたというか、 そんな感じのテーマでした (私の手元の MPC-102 ではできないことが わかっていたため)。

そんな怠惰な生活を送っていた私でありますが、「2ちゃんねる」の 「FIVA村に春が来た! FIVA10Xをほのぼの語るスレ4」にて、「103 の 288MB 化 キボン」の命を受け作業してみました。 きっかけをくださった「いつでもどこでも名無しさん」、どうもありがとうございます。

「2ちゃんねる」でのご報告によると、どうやら MPC-103 では 288MB で動作する ようです (私個人宛てにご報告くださった方もいらっしゃいます)。 ご報告、ありがとうございます。 しかし、前述の通り、私の手元では動作確認をしていません。その上、2度と起動しなくなる 可能性もあります。試してみようというかたは、自己責任でどうぞ。 もしも試されたならば、FIVA メーリングリストや「2ちゃんねる」などでのご報告を お待ちしております。

SONY VAIO U の発売がアナウンスされましたねえ。めちゃめちゃ欲しいけど買えれん。 まあ、メモリ増えたし バックライト交換したし、 私は MPC-102 をぼちぼちと使うことにしますかね。



ホームページ



mail