PC6001用フロッピーのファイル化 のバックアップ(No.1)


oldPC

PC6001用フロッピーのファイル化

なんでP6にFD?

  • 私にとってはパソコン青春機ともいえるPC-6001だが、そのエミュレータの存在を知ったのは2001年の夏頃だった。PC6001Vのこころというホームぺージを見つけ、ゲームのスナップショット画面を見た時は、思いがけない懐かしさとうれしさで胸がいっぱいになったものだ。
  • そもそもPC6001実機を買ったのは1982年頃だったか? すぐに後継機のPC6001mk2に乗り換えて、しっかり使いまわして元は取ったと思うが、90年頃には本体等は動かなくなっていたような記憶。本体は処分したが、例によって捨てがたく残ったのは、けっこうな本数のテープとフロッピーだった。
    P6_Floppys
  • もともとPC60のソフトは90%がゲームだった。媒体は「カセットテープ」。オプションで外付けFDドライブもあったのだが、高価だし、そもそもアミューズメントパソコンだから、フロッピー版の市販ソフトというのは見かけたためしがない。
    P6_Tapes
  • ではなぜ、フロッピーがあるのか。そこが「わが青春機」たるゆえんなのだが(^^)、、、PC6001Mk2(中古)に2ドライブFDD(PC8031)やミニプリンタ(PC-6021)なんかを追加して、それなりにシステムっぽくして何をしてたのかというと、ゲームソフトの解析をやっていた(^^;) 無敵化等の改造はもちろん、テープソフトをフロッピー版にリメークしたり、つまり、Z80マシン語の世界に片足を突っ込んでいたのだ。そんな思い出話は、またあらためて(^^)
  • その成果というべきフロッピーの束だが、エミュレータがDISK対応だったおかげで、あらためて動く可能性が出てきたわけである!!
  • そんなわけで、P6用のFDをイメージファイル化する作戦のはじまりはじまり! (実際にやったのは2001年頃のお話、メモをたよりに記録にまとめたのは 2009年09月)

P6のフロッピーと「両面」化

  • ついでに書くと、PC6001のFDタイプは「5インチ_1D」であった。『片面倍密度』と言うことになるのか。容量は約160kKB。当時、PC80/88が 「5”-2D」PC98では「5”-2DD」や「5"-2HD」だったから、ハードレベルに合わせた低仕様と言うことになるのだろう。
  • そもそも「5"-1D」なんて媒体はあまり市場性もなく割高で、PC80用の「2D」フロッピーを買ってきて、「両面・1D」タイプに改造して使っていた。
  • ジャケットをそーっと解体して開き、ひらひらのフロッピーを抜き出しておいてから、パンチでインデックホールをもう一つ穿けて、またフロッピーを戻して、瞬間接着剤でジャケットを閉じるという作業なのだが、何10枚もやればけっこう上手になった(^^)
    1D_W_FD
       【通常の1Dフロッピー(片面)】  【2Dフロッピーを1D両面化】

P6FDの読み取りツール

  • さて、残されたP6のフロッピーはいかにファイル化するかだが、読むためのドライブやツールが問題だ。
  • そもそも、P6FDのフォーマットは、当然MS-DOSではない。PC6001用だから、「N60mBASIC」である。PC98は「N88BASIC」だったかいな?
  • 当時調べた中でも、いくつかツールが存在することはわかったが、なかなかたどりつけなかった

「DSK:フロッピーディスク吸出し&書込みツール」

  • P6用のFDドライブを使って読み取るらしいのだが、本体もFDDもなくなってしまい、この手は使えない。(ハードが使えても、正直なところ、P6上でどうするのか ^^;)

「1DDディスクツール」

  • PC-98で1DDメディアの読み書きやフォーマットをするツールだが、リンクは切れており入手できなかった
  • 今さらだが、調べ直してみると、P6エミュレータ iP6 PlusFAQに、SMC-777用である「1DDitt」 が紹介されており、リンク先でダウンロードも可能だった。これはDOS版なので、ひょとしたらまだ使えるかも??

「MAHALITO」で吸出し成功!

  • PC98のフロッピーの吸出しでも登場したファイル化ツール「MAHALITO」だが、これがP6のフロッピーにも使えることがわかった。
  • MAHALITOの動作環境としてはPC98(NECのMS-DOS)であったが、幸い、まだ2001年頃は、PC98実機もクラリHOSTとして現役だったりして、それなりに動いていた時代だったので吸出し環境としては間に合った。
  • 一歩譲ってMAHALITOがWin98のDOS窓で動作したとしても、5インチフロッピーディスクドライブが前提となる。PC98の終焉は5インチドライブの終焉でもあったのだから、も少し気付くのに遅れたらお手上げになるところだったといえよう。
  • まず、MAHALITOを使った吸出し手順だが、フロッピーを挿入して、コマンドを実行するが、基本パラメータは以下のとおり
    MAHALITO <コマンド> <オプション> <転送元> <転送先>
    《コマンド》は  A: フロッピーディスクのファイル化を行う
    《オプション》は -2D : 2D
     <転送元>は、ファイル化対象フロッピーのセットドライブ名
     <転送先>は、ディスクをファイル化したデータを格納するファイル名
  • 実行例は
      A>MAHALITO A -2D B: A:\P6FD\DATA
  • Bドライブのフロッピーディスクを2Dフォーマットで読み、Aドライブの¥P6FDフォルダーに、DATA というファイル名で保存するという形になる。
  • MAHALITOで生成されるファイルは、フロッピー1枚につき2つ。 拡張子が ”.2D”及び”.DAT”。前者の"*.2D”には元のフロッピーのフォーマット情報、“*.DAT”にはフロッピーの内容が記録されている。
  • 実は、説明書の扱えるディスクの項には「・N80BASIC、N88BASICのフロッピー(2HD/2DD/2D)」としか書いてなかったり、オプションにも「1D」がなくて、ほんとに読めるかどうか心配したが、結果はOKだった
  • 両面化FD(1D×2面)でも、問題なく片面づつファイル化可能だった。実は、「-2D」指定で読めたとしても、表と裏がグチャグチャに一つのファイルになってしまうこと心配したのはだが、杞憂に終わってホッ(^^)
  • PC98上で行った作業だが、まとめてHDDに保存し、フロッピーやMOを経由でWindowsに移して、吸出しは完了となる。

D88フォーマットへ変換

  • ファイル化はできたが、MAHALITOのフォーマットのままでは、エミュレータが扱えないので、対応フォーマットに変換する必要がある。
  • 当初使ったエミュレータ「iP6 for Windows」は、D88ファイルフォーマット(拡張子.D88)に対応していた。まぁ、当時の国内の主なパソコンのディスクフォーマットとなんだろう
  • 変換ツールとしては、 「DILTO」が有効だった。PC88系エミュレータ用ツールの一つであるが、問題なく使えた。
  • 「Dilto」によるconvert手順を整理しておくと、
    • ①同一DIR上に、本体とMAHALITOで吸い出したファイル2つを置く
        dilto.exe
        xxx.dat (MAHALITO吸出しファイル)
        xxx.2d  (MAHALITOフォーマットファイル)
    • ②コマンドを実行する
       c:dito xxx
    • ③動作画面は
      mahalito file -> .D88  converter  [ DILTO ] v1.30  by anonB,8.1998 
      xxx.2D + xxx.DAT --> xxx.D88
      diskname(title)  : 【適当に入力 ふつうはxxx とソフト名か】
      write protect    : ON
      media type       : 2D(40)
      append mode      : NO
      D88 head length  : 676
           (中略)
      track   0/ 79 (N=0*16:MFM  ) -         0  
      track   1/ 79 (  unformat  ) -      4352  
      track   2/ 79 (N=1*16:MFM--) -      4352  
           (中略)
      Complete!
       1 Disk converted  by DILTO.
        Header :       676
        Data   :    152332
        Total  :    153008
  • 実は、Vistaでこの変換作業を試しにやってみたら、一部文字化けはするものの、ちゃんと動いて、.D88ファイルができて驚き。
    DILTO_log

ベタファイルへの再変換

  • これでも大部分は動作したのだが、本命のエミュレータである「PC6001V」は、当時D88フォーマット対応ではなかった。多少だが機能とかユーザインタフェースに差異があって、どちらかというとPC6001Vの方が格好良かったわけ。
  • PC6001Vの対応フォーマットは「ベタフォーマット」だった。本来フロッピーとして管理するためにヘッダー情報があるのだが、それをファイル内に持たないで、ただデータ部が連続ファイルである。
  • どうしてもPC6001Vで動かしてみたくて、ムキになってベタフォーマットにトライした。といっても、バイナリエディタ等で開いて、D88形式のヘッダー情報部分を削除すれば一巻の終わりだなのだが、
    ヘッダの削除:PC6001V用ベタファイル作成方法
    (1)ヘッダ部 230H分(000H~2AFH)データ削除
    (2)セクタヘッダ部 削除
      100H毎のoffset_size(10H)を削除
    (3)最終サイズ
      256×16×35=143,360Byte
      (100H×10H×23H=23,000H)
      アドレス:00000H~22FFFH
  • ファイルの頭230Hバイトと、100Hバイト毎に10Hバイトずつ削除するという単純な力仕事。それだけに間違いやすいし、面倒。Mifesでマクロを組んだりしたが、最後は作者の掲示板で何とか対応してくださいとお願いした。
  • その時の返事はあまり芳しくなかったが、割とすばやい対応で、D88フォーマットが読めるようになって、一件落着した。
  • その後、P6エミュレータはさらに進化し、決定版ともいえる「PC6001VW」が登場し、着々とバージョンアップしと、いまや機能的には天下一品!! Vistaでも時折、昔のP6ゲームをひっぱり出して楽しんでいる(^^)
    PC6001VW3
トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   リンク元