ひとりごと

翌日:[2023-04-10]  前日:[2020-03-04] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2023/04/09 (日)

・ X68000用のMOをサルベージする

前の記事にも少し書きましたが、X68000で普通に使っていたMOは、WindowsでもMacでもファイルシステムとして認識してくれません。これによって、過去にX68000で作成した資産を継承できませんし、むかし遊んでたゲームをX68000Zで楽しむこともできません。

なお、ファイルシステムとして認識しないとはいえ、セクタ単位での読み出しはできます。だからディスクイメージを取り出すことはできます。あとは、このイメージをファイルシステムとして認識してくれるナニカがあれば良いだけなのです。でも、どうやらそんな都合の良いものは無さそうなのです。でもね、無いものは作ってしまえ!! なのがX68000ユーザです。ということで、作りました。
↑ (追記) DiskExplorer というのを使うと、X68000のMOも読めるみたいです。別に作らなくてもよかった。(苦笑)

convertX68kMO
X68000で普通にフォーマットしたMO(のイメージ)からデータをサルベージする
http://toriyu.jp/hitorigoto/convertX68kMO001.zip

えーと、イマドキのモダンな言語で書ければ良かったのですが、いかんせん使い方がわかんないので、普通にC言語で書きました。動作環境としてはMacOSのコマンドラインを想定しています。特定の処理系に依存するような記述はしていないつもりなので、コンパイルエラーさえでないように修正すれば、WindowsやLinuxでも動くのかもしれません。

使い方はこんな感じです。

  1. MacにMOを接続して、イメージファイルを作成する。
    (例) % sudo dd if=/dev/disk4 of=hoge.dmp bs=1m count=128
  2. 上のプログラムに食べさせて、イメージからファイルを抽出する。
    (例) % ./convertX68kMO hoge.dmp

この例では、hoge というディレクトリが作成され、その下にMOに格納されているファイルが配置されます。文字コードはX68000のファイルがSJISであると決め打ちして、SJISからUTF-8に変換して保存します。


以下はここらへんの操作に明るくないひと用に手順を細かく書いたものです。上の説明でわかる人は読まなくても良いと思います。

MacOSにMOをセットする
230409-3

こんな感じのダイアログが出ますが、「無視」を選んで続行します。ファイルシステムとしては使えませんが、/dev/ 下にはマウントされているので、デバイスとしては普通に使えます。

230409-4

どこにマウントされているかを示すのがこの画面です。ディスクユーティリティーを起動して MO デバイスを選び、「装置」欄に記載されている項目を /dev/・・・ でアクセスすれば読めます。この図では disk4 ですね。

イメージを作成する
230409-5
sudo dd if=/dev/disk4 of=hoge.dmp bs=1m count=128

上記コマンドを実行してカレントディレクトリに hoge.dmp というイメージファイルを作成します。この例では 1MBずつ128回読み込むので、128MBのイメージができます。

イメージファイルを展開する
230409-6 230409-7

下記のコマンドを実行してイメージファイルをカレントディレクトリに展開します

./convertX68kMO hoge.dmp

実行ファイルは zip ファイルの中に格納済みのものか、convertX68kMO.c をコンパイルしてできるものを使用してください。

本来ならメディアから情報を読み込んで「セクタあたりのバイト数」「クラスタあたりのセクタ数」「先頭クラスタの位置」「FATの位置」なんかを計算して動作すべきなんでしょうが、使える資料が「過去に実機で作成したMO」だけでして、当時は128MB用ドライブしか持っていませんでしたので、このプログラムは128MB専用となっています。

230409-8

うまく展開できた場合は、Finder や Explorer で閲覧可能なフォルダ/ファイルが出来上がります。


我が家のX68000が現役の時は「プログラミングで遊ぶ」以外にも「ゲームで遊ぶ」のに使いまくってたので、うちのMOにはゲームがたくさんあります。ゲームする時は拙作の 2HDboot をよく使ってたので、MOにはフロッピーディスクをイメージ化したファイルがそのまま保管されています。"Virtual Floppy Image Converter" を使えば、そのイメージファイルを X68000Z で使うこともできます。

てことで、久しぶりに我が家にやってきた X68000 で遊びまくっています。いーくぽーーん。

[つっこみ]

・ X68000Z!!

230409-1

なんだか超久しぶりの更新ですが、X68000Zを調達しました。

ご存知ない方のために書いておくと、X68000というのはずいぶん前にSHARPが発売していたパソコンです。今では「パソコン」というとWindows機を指しますし、ものすごく広義の意味でMacも含まれるのですが、当時はWindowsなんてものは無く、日本の電気メーカーが複数参戦していました。というか、日本語を表示できるのが日本のメーカーが作ったものだけなので、海外メーカー製を選ぶ理由はほとんどありませんでした。日本のメーカーのパソコンの中でもX68000はすこし趣向が違って、当時のアーケードゲームを再現できるほどのグラフィックやサウンド機能を持ち、MC68000という8086系とは異なる命令セットとアドレッシングモードで「使い倒す」ことが楽しいマシンでした。

時代は流れ、当初は高速だったはずの速度は80486のキャッシュと高速クロックに置いてけぼりにされ、「国民機」と言われたPC-98との差はどんどん開いていきました。晩年にはMC68030を搭載した X68030 が発売されるも、後が続かず終焉を迎えます。X68000ユーザーが勝手にライバル視していた国民機も、その後の時代の流れに飲み込まれて現代では工場向けに細々と生産しているだけというのはなんとも寂しい限りですね。

230409-2

さて、そんなX68000ですが、35年の時を経てクラウドファウンディングという形で現代に甦りました。その名もX68000Z。実機とほぼ同じキーボードやマウスを備え、実機と同じような見た目の筐体。ただしすごくちっちゃい(笑)。5インチフロッピーの代わりにSDカードが挿入でき、LEDがディスク挿入やアクセス時に色が変わるというギミックを備えています。そして、なんとキャリーハンドルが実機と同じように飛び出します。てゆーか、なんでパソコンにキャリーハンドルなんか付いているんでしょう? 元からいろいろ不思議なパソコンです。さすが目の付け所さんですね。

そして使ってみた感想は・・・ロード時間が長い。まぁ、そうですよね。今ではPCのストレージがSSDなのは当たり前で、PCの起動時間もロード時間もさほど気にならなくなったのですが、確かに当時はFDのロード時間が長かったです。もう完璧なエミュレーションですね。って、ロード時間はべつに模擬しなくてもいいから!! SDから読むと遅くなるんでしょうか? それとも当時の雰囲気を醸し出すようにウェイト入れてるんでしょうか。ここはもう少し速くなってほしいですね。

X68000のエミュレーション自体はべつにこういうものを購入しなくても実現できるのですが、著作権の問題をクリアするのが難しく、どうしても裏でコソコソやる感じになってしまいます。その点、クラウドファウンディングとはいえ、正規のライセンスで販売してもらえると、堂々と使えますからホントありがたいです。

セットに含まれる内容では「X-BASICを起動して遊ぶ」とか「グラディウスで遊ぶ」くらいしかできませんが、過去のX68000の資産を使えばそこそこ遊べるのかな? と思っています。過去の資産は現代のPCで読めないフォーマットのMOに格納されているのでちょっとハードルが高いのですが、それを発掘するのも含めてしばらくは楽しめそうです。

[つっこみ]

翌日:[2023-04-10]  前日:[2020-03-04] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)