MSX版Wizrdry1、2をTurboRで高速起動2017年08月27日 22:35

こちらも古い話を覚書。

MSX版のWizardry1及び2をTurboRで高速起動する方法。

1・MSX-DOS2でフォーマットしたディスクを用意する。
2・1のディスクをデュプリケイトディスクにする。
3・2のデュプリケイトディスクにシステムディスクの全ファイルとMSX-DOS2.SYS、COMMAND2.COMをコピーする。
4・作成したデュプリケイトディスクから起動する。

3はもとからTurbor対応なので関係なし。



Wizardry Crusaders of the Dark Savant2017年08月27日 22:05

CDS 9801版
ちょっと古い話だけど(いつもの事)忘れないように覚書。

PC-9801版のWizardry Crusaders of the Dark SavantはPentium機では起動しないというバグがある。
PC-9821版はこのバグが改善されているので、PentiumなPC-98(9821しかないはずだけど)ではPC-9821版を入手しないとゲームができない。

このバグの話、巷ではDOS/V版にあったバグがPC-9801版にも引き継がれていてPC-9821版で改善されたということになっているけど、厳密には間違い。
DOS/V版のPentiumで起動できないバグはPC-9801版ではしっかり修正されている。
では、なぜPC-9801番でもPentiumでゲームが起動しないかというと、これが9801版に特有の構成が原因だったりする。
DOS/V版、PC-9801版、PC-9821版3つのメインプログラム(DS.EXE)を比べると、PC-9801版のみプログラムが暗号化されている。
この暗号化はプログラムの実行時の最初にメモリ上で自己書き換えにより復号化される。
何故こんな事をしているのかと言えば、(想像だけど)コピー対策以外考えられない。
Crusaders of the Dark Savantはマニュアルプロテクト(ゲーム起動時にパスワードを入力するタイプ)の為、プログラムを少し書き換えてパスワード入力部分をスキップさせてしまえばプロテクトが簡単に無効になる。
※実際、Ultimate Wizardry Archivesに収録されている版はその手法でパッチ済みであり、パスワード入力しなくてもゲームが遊べるようになっている。
その書き換え場所を特定できなくするためにPC-9801版はプログラムを暗号化している(のであろう)。

で、Pentium機ではこの復号化に失敗する。

ゲーム発売当時、アスキーに申し出ればパッチを入手できたというのだけれど、このパッチは復号化したDS.EXEそのものではないかと想像している(今となっては手に入れる手段がないので確認できないけど)

ちなみに、PC-9801版のCrusaders of the Dark Savantが実行できる環境で、ゲーム起動→メモリ上でDS.EXEが復号化された時点でメモリダンプ→有効なヘッダ512バイトを付与するとPentium機でも実行可能なDS.EXEを生成することは可能。(先頭の画像は9801版をPentium133MHzの9821na13で起動したところ)

ただし、ヘッダの値はPC-9821版のDS.EXEを参考にしないと多分生成できないので、どのみちPentiumなPC-98でCrusaders of the Dark Savantをプレイするには9821版のCrusaders of the Dark Savantが必要という話。

そういえば、セーブデータのフォーマットははDOS/V版、PC-9801版、PC-9821版全て同じみたい。
データエディタであるCosmic Forge* Editorで普通に書き換え可能。
少なくとも、9801版のセーブを9821版で読み込んで続きをプレイなんてのは普通にできる。

この点、前作のBane of the Cosmic ForgeではDOS/V版、PC-9801版でセーブデータの互換性がなかった。(PC-9801版はCosmic Forge* Editorで書き換えできない

CDS 9821版
こっちは9821版。
写真だと判りにくいけど、256色だから絵がきれい。(右下コインの部分なんかが9801版(16色)と比べると違いが判る)

A1ST故障2017年08月27日 21:54

サロンdeねくすたあ~で遊んでいたら、A1STが急にハングした。
電源入れなおしてみたところ、まったく画面が表示されない。
ステータスランプも電源ON直後からPAUSEが点灯したり高速モードが消えたままだったりと完全にいかれている模様。

このA1ST、内蔵メモリ1M化しているのでどうせそのあたりのはんだ付けが甘かったのだろうと、深夜を待って分解、はんだ付けしなおしてみることに。
テスタで導通とブリッジしていないことを確認しながら怪しげなCPU周りの配線を再ハンダしてみる。
ところが、症状全く改善せず(この時点で午前3時)

これはCPUがいかれたか、メモリチップが壊れただけならまだ交換の手があるけれど…
と、ふとソケットからメモリチップを取り外し、取り付けとしたところなぜか普通に起動するようになった。
接触悪いなんてことあるのか?

とりあえず起動してくれたからよいけれど、何か手(代替機手に入れるとか)を考えた方がよいのだろうか?
でも、代替機っていってもTurboR、高すぎるしなぁ…

M.A.D.さん処の1chipMSX互換機とエミュレータあれば、大抵のことはできるんだけど。

サロンdeねくすたあ~ その22017年08月26日 17:26

サロンdeねくすたあ~でFlashAirを認識しない問題、原因が分かったかも。

現在直面している現象をまとめると
1・サロンdeねくすたあ~にFlashAirをセットして起動するとドライブを認識しない。(FlasAirは変換アダプタを利用)
2・起動時は認識するSDカードをセットして起動、その後FlashAirに入れ替えるとMSXからドライブとして認識する
3・2で認識したドライブに実際に書き込みを行おうとするとハングする。
4・ディレクトリ移動を繰り返すと、「ドライブが存在しません」というエラーが発生する。
5・FlashAirの無線LANが有効にならない(無線LANへの接続に失敗する)

で、5がおかしい。
FlashAirの無線LANはCONFIG設定さえ正しければ、電源さえ供給されていれば有効になるはず。
それが使えないということは電源供給が間に合っていないのではと考えた。
※FlashAirは普通のSDカードより無線LAN機能の分消費電力が多い(常時100mA~200mA位らしい)

試しにCONFIGを
APPMODE=2
無線LANのキーになる画像ファイル
/DCIM/100__TSB/FA000001.JPG
を読み取り専用にし、無線LAN手動起動モード(無線LAN-OFF)する。

この状態のFlashAirをサロンdeねくすたあ~にセットしてみた。

結果、起動時のドライブ認識に成功し、試した範囲では書き込みでハングするようなこともないように見えた。
ということで、電源供給さえどうにかすれば変換アダプタ経由でFlashAirも使える、のかな?

サロンdeねくすたあ~2017年08月21日 23:09

M.A.D.社製のMSXでNextorやMicroSDが使えたり音声LSIでおしゃべりさせたりすることができるカートリッジ。
こいつのMicroSDにFlashAirを繋げないかと考えて、変換名人のSDカード→MicroSD逆変換アダプタを買ってみた。

・・・FlashAir認識しない。
他のSDカードを変換掛けたところ認識するものもあるので、相性が出ている模様。
M.A.D.さんの検証でも動作するカードと動作しないカードがあったみたいだし。

DEVINFO.COMではちゃんとカード認識してるんだけどなぁ…
DRVINFO.COMでドライブ認識していないのでドライブの割り当てに失敗してるみたい。
でも、MAPDRV.COMでのドライブ割り当てにも失敗する模様。

う~ん、もうちょっと調べてみよう。