Windows10でもフロッピーディスクは使えるようだ。

Windows10でリリース前には使えないと噂されていたFDD。
http://taisy0.com/2014/12/23/42978.html
http://www.gizmodo.jp/2015/06/_windows_107.html

そして、おとついリリースされたWin10。試してみたらWin8.1Pro(32ビット版)からアップグレードしたWin10(32ビット版)でUSB-FDDが使えた。公式には非サポートだとしても機能として残されているのは助かります。

win10fdd

なお右クリックフォーマットの項目からDOSの起動を作るオプションが無い。

追加で確認。スクリーンキャプチャは面倒なので無し。

■Win10 64ビット版 + USB-FDD ロジテック製2倍速、USB-SuperDisk

2HD 1.44MB 使用可能、フォーマット可能 (GUI使用可)
2DD 720kB 使用可能、フォーマット可能 (GUI不可、コマンドのみ)
2DD 620kB 使用可能、フォーマット不可
SuperDisk 120MB 使用可能、フォーマット可能
※いずれも DOS起動ディスク作成不可

■Win8.1 64ビット版 + USB-FDD ロジテック製2倍速、USB-SuperDisk

2HD 1.44MB 使用可能、フォーマット可能 (GUI使用可)、DOS起動ディスク作成可
2DD 720kB 使用可能、フォーマット可能 (GUI不可、コマンドのみ)
2DD 620kB 使用可能、フォーマット不可
SuperDisk 120MB 使用可能、フォーマット可能

要するにWin10でUSB-FDDは 2HDがフルサポート、2DDが限定サポート。DOS起動ディスクの作成以外はWin8.1と同等ということ。起動ディスクに関しては起動ディスクのRAWイメージが入っているDISKCOPY.DLLがwin8.1まではあったがWin10では存在しないので直接イメージを抜き出すとかもできない。

コマンドでの2DDフォーマットは FORMAT A: /F:720ヘルプでは/F:1.44のみの表示だが、隠しオプションで /F:720 (512バイト9セクタ)も使える。そして /F:640 (512バイト8セクタ PC-9801の2DD) は使えない。あと1.21MB(512バイト15セクタ 東芝なんかの2HC)を確認するのを忘れた。

→2HC (MF2HDで512バイト/セクタ、15セクタ/トラック)も読み書きできました。フォーマット(FORMAT /T:80 /N:15 /U A:)は動くが最終的に失敗。TEAC 3モード対応USB-FDDをWin10 64ビットに接続。

2015年10月追記

クリーンインストールしたWindows10 (64ビット版、UEFI)でも試したら、Win8.1からのアップデートと全く同じでした。ロジテック(Y-E Data製ドライブ)、松下のSuperDiskで確認。

2016年5月追記。

完全に新規で個別のデジタル認証も無い状態のWin10Pro(64ビット)でもUSB-FDDは使用可能でした。検索キーワードを見ていると使えていないらしい人もいるようなのでもしかしたら環境依存、機種依存なのかもしれません。

TestWin10FDD

結論 : Windows10でもUSB-FDDは使用可能。

※FDC接続(34ピンフラットケーブル)のFDDは実機が無いのでわかりません。未確認だがFDC接続FDDも使えたとの情報あり。

で、もう一つ気になっていたレガシーサポートを確認。Windows10でDOSプログラムは動くのか? 結論として、32ビット版Win10では英語版16ビットDOSプログラムは動く。

win10dos

日本語環境(CP932)には対応していないので日本語CUIアプリはDBCSは文字化け。graftabl 932で日本語CLIアプリは正しく表示できる気がする。COMMAND.COMもあるし、英語版ならCLIだけでなくCUIアプリも一応動く。%SystemRoot%\System32\config.nt、%SystemRoot%\System32\autoexec.nt もいまだ健在。ここに$DISP.SYSとか組み込めるのかは不明。マウスは使えるが、キーボードはUS配列になるので注意。フルスクリーンもサポートされない。64ビット版Win10はサポート外なので16ビットDOSプログラムは動かない。

さらにどうでもいいことを追加。Macbook Pro 2017 LateのBootcampで動かしたWindows 10 Pro 64ビット版でもUSB-FDDは使用できた。Win10でFD使えないって人はよっぽど運が無いか、非対応フォーマットのFDを使おうとしているかのどちらかではないのかな。

 

bchunkをWindowsで使えるようにする (bin+cue→wav変換)

先日から音楽CDをbin+cueファイルにイメージ化して現物を捨てる整理法を実行しているわけですが、bin+cue形式って割と扱いにくいんですよね。理想的にはbin+cueを複数曲が入ったデータとして直接再生できるプレーヤーとか無いし、ほかのソフトでも使いたいのでbin+cueから直接トラックごとのwavファイルが抽出できればそれでいい。

結構前からDAEMON Toolsという仮想ドライブソフトを使えばBIN+CUEを直接マウントして使えることは分かってるんだけど、いつの間にかアドウェア付きになってたり、そもそもいつまでサポートがあるか分からないしLinuxでは使えないしOSSでも無いのでこれだけに頼りたくない。Daemon Tools自体は使い勝手も良いし、プロテクト付きディスクのエミュレーションとかあって何かと有用なのは間違いないのだが。

ドライバを入れたりせず、もっとシンプルにbin+cueをwavなりisoに分解するには、Linuxだとbchunkというソフトがあって、Debianだとapt-getですぐ使える。で、Windowsでも使えないかと思って探したらokwaveでまさに同じようなことを考える先人を見つけた。

http://okwave.jp/qa/q3629100/a11028949.html

Q:bin+cueをbchunkでISOに変換したいのですが、bchunkのダウンロードの仕方がわかりません。

A:ちゃんと対応 OS とか書いてあるんだから読もうよ. それはあなたのシステムでは使えません. 別のものを探してください.Img Burn とかあるみたいね. シェアウェアかもしれんけど.

ImgBurnはフリーソフトだよちゃんと書いてあるんだから読もうよと ツッコミたくなるナイスなベストアンサー。とりあえずbchunkのWin32バイナリは無いと理解した。ありがとうokwaveの方々。あきらめてWindowsでbchunkをビルド。手元のパソコンにはVisual Studio 2010 Expressが入っていたのでそのまま使った。mingwとかcygwinのが変更は少なくて良いと思うが入れたくなかったので。

→ここで作ったバイナリとソースは掲載しました。

以下はソース改変&コンパイルのレシピ。バイナリだけ使えればいいっていう場合は読まなくていいです。

1.http://he.fi/bchunk/ から bchunk-1.2.0.tar.gz をダウンロード。適当に展開して作業開始。

.
2.strcasecmpの定義を追加。bchunk.c の編集前26行目付近に追加する。

#ifdef _MSC_VER
//not #if defined(_WIN32) || defined(_WIN64) because we have strncasecmp in mingw
#define strncasecmp _strnicmp
#define strcasecmp _stricmp
#endif

出典 http://stackoverflow.com/questions/3694723/error-c3861-strcasecmp-identifier-not-found-in-visual-studio-2008

.
3.unistd.h を追加。出典 http://d.hatena.ne.jp/deraw/20070517/1179334643 から unistd.h をもらってきて105行目を変更。

ft.dwHighDateTime = (DWORD)ll >>32;

ft.dwHighDateTime = ((__int64)(DWORD)ll) >>32;

そしてbchunk.c の編集前25行目付近のunistd.hのインクルードパスを変更。

#include <unistd.h>

#include “unistd.h”

→このunistd.hはライセンス不明なので使わないようにしました。必要なのはhtonsとhtonlだけなので次の二行を追加するだけです。

#pragma comment( lib, “ws2_32” )
#include <winsock2.h>

.
4.getoptを追加。出典 http://takamints.hatenablog.jp/entry/2015/04/27/231454 から getopt.h、getopt.c をもらってきて、bchunk.c の編集前26行目付近に追加する。

#include “getopt.h”

.
5.inttypeを削除。bchunk.c の編集前60、61行目付近を削除(コメントアウト)する。

//#include <inttypes.h>
//#include <netinet/in.h>

.
6.stdint.hを追加。出典 http://stackoverflow.com/questions/5657825/whats-the-equivalent-of-int32-t-in-visual-c

bchunk.c の編集前25行目付近をに追加。

#include <stdint.h>
.
7.BINファイルのオープンモードを変更。bchunk.c の編集前402行目付近を変更。

if (!((binf = fopen(binfile, “r”)))) {

if (!((binf = fopen(binfile, “rb”)))) {

.
8.出力ファイルのオープンモードを変更。bchunk.c の編集前282行目付近を変更。

if (!(f = fopen(fname, “w”))) {

if (!(f = fopen(fname, “wb”))) {

.
9.コンパイル。メイクファイルの変更は面倒なのでコンパイラドライバCLで直接ビルド。bchunk.exe が出来上がったら成功。

cl bchunk.c getopt.c

.
10.試してみる。

chunk -w image.bin image.cue track

でtrack*.wav がたくさん出てきたら再生してみる。

.
できたwavをNeroでリッピングしたwavと比較すると先頭に1ワードの余分(0000H)が出るのと、末尾付近にNeroが付けた変なチャンク部分が異なるけど、それ以外のデータはバイナリ一致したのでたぶん大丈夫だと思う。これでbin+cueもさくっとwavに変換して聞くことができる。知恵を貸してくださったインターネッツの先人の方々に感謝ですね。 めでたしめでたし。

wavとisoができることは確認したけどそれ以外の検証はちゃんとしてないので試すときは自己責任で。

オリジナルの作者ではないですが、bchunk v1.2.1がリリースされました。待望のWindowsサポートが! … て一部取り込まれとるやないかい!! ええのんか。getoptはMITライセンスやからともかく、strcasecmpとかunistd.hはライセンス不明やし。。

https://github.com/extramaster/bchunk

→自分のエントリに起因がないわけでもないんでOSSライセンスのみで再構成したものにMIMEエンコードしたアーカイブ公開の中身を差し替えました。

パソコンを連続稼働させてはいけない根拠

国内大手家電メーカー二社から出ているパソコンの連続稼働やノートパソコンを閉じた状態で使用することに対する注意事項。

ずいぶん前にノートPCをサーバにすることがよくない理由 という長たらしいエントリを書いたが、検索キーワードを見るにつけて「みんなやりたいんだな」と感じる次第。もっと単純に考えて、そもそも「メーカーがお勧めしていない使い方」ってことで、説明書や注意書きで次のような使い方を明確に禁止しています。

  • 家庭用、事務用PCを連続で使うこと。
  • ノートPCを閉じた状態で動かすこと。

これを無視して「ノートでサーバー」とか「パソコン24時間動かしても平気」なんていってると壊れやすくなりますよ。パソコンなんて壊れても平気っていう人には無意味だと思いますが。電池も含めて発火の危険もあり、人命にかかわる事故につながらないとも限りません。
.

■富士通
LIFEBOOK AH90/P
2014年2月発表モデル

取扱説明書(2014春モデル)  P22
●定期的にほこりなどを取り除いてください。ファンにほこりが詰まっていると、放熱が妨げられ、故障の原因となります。
●液晶ディスプレイを閉じてもスリープや休止状態にしない設定の場合は、電源が入っているときにパソコン本体の液晶ディスプレイを閉じないでください。パソコン本体の放熱が妨げられ、故障の原因となることがあります。
●パソコン本体は昼夜連続動作(24 時間動作)を目的に設計されていません。ご使用にならないときは電源を切ってください。
.

■NEC
PC-GN246BA5
安全にお使いいただくために  P6ほか
●本製品は、24時間以上の連続使用を前提とした設計にはなっておりません。注意してください。故障や安全の観点からご注意ください。
●液晶ディスプレイを閉じた状態で使用しないでください。内部温度が高くなり、故障、発熱の原因となります。
●通風孔(排熱孔)のお手入れ
通風孔(排熱孔)にたまったほこりなどは定期的に取り除いてください。通風孔(排熱孔)がほこりなどにより目詰まりすると、本体内の空気の流れが悪くなり、本製品の故障や機能低下の原因となることがあります。
.

これから夏本番。高温多湿の連続稼働で電子機器にも負担がかかります。

毎度毎度の「パソコン24時間動かしていいですか?」なんていう質問には「説明書では連続稼働で使用しないように書かれている。」というのが回答。まあ質問してる人はそれをやりたいわけだし、法律や使用許諾で禁止されているわけでも、犯罪行為でもないし問題が起こっても知らないから、自己責任で勝手にやってねっていうところでしょうか。

※デスクトップでもノートでも一般向けPCは24時間稼働の制限以外にも航空機、原発、医療用などクリチカルな用途には使わないようにと明確に書かれているものは多いです。

他のメーカーはどうなのというと、東芝の説明書をざっと見た感じではみつけられなかった。まあ書いてないからダイナブックなら24時間動作可能とは思えないから同じなんでしょう。

 

200kHzのノイズ

PCのサウンドカードの光出力につないである安物DACやBDレコーダの出力をオシロで見ていると200kHz付近でノイズが乗っかっているような気がする。

単体FM/AMチューナではそんなものは全く出ていないので、これって最近のデジタル家電で使われているDA変換のデジタルデータかその処理か何かに起因した信号の漏れなのかな。まあスピーカーから出てくるようなものでも、仮に出てても聞こえるようなものでもないので無視してもいいんだけど、オシロの輝線が太くなって見えるのが気持ち悪い。

0.022~0.047uFくらいのフィルムコンデンサを入れてやると 半減するので観測するときは入れてもいいかもしれない。0.1uFも入れると可聴帯域でも減衰がみられるので0.01uF台前半が限度かな。

文章だけだと説得力が無いからデータ追加。上段が長い時間軸、遅延掃引で時間軸の一部を拡大したものが下段。

▼チューナでAM放送を受信したもの。線は細く、拡大しても線のまま。

AM

▼PCの光出力を安物DACに接続した状態。サンプリング周波数96kHz。輝線が太くなっており、拡大すると200kHzくらいのノイズが乗っている。不規則な周期なのでDAに起因するものと考えられる。写真では分からないがさらに拡大すると80MHz付近のノイズもわずかに見えてくる。

PC DAC

▼チューナでFM放送を受信したもの。線が太くなっておりA掃引でもうねうねしているのが分かる。ステレオパイロット信号の漏れと思われる。19kHzくらいのノイズ。

FM

聴感では当然光出力を再生したものが一番音質が良いが(帯域が違うのであたりまえ)、DAC出力やFM放送には測定器でもわかるくらいの音声信号以外の信号(ノイズ)が乗っているんだなって分かった。

こういう特性はΔΣ変換を使った装置ならどれでも発生するわけで、DSDなんかでも同様の状態になると推定される。(←再生機材がないのであくまでも推定)ちなみここのDAC、安物だけど評価を見ても「ノイズが少ない」、「音質が向上した」、「値段なりに良い」など、4つ星半のそこそこ高評価なものです。

ピュアオーディオっていっても、こういうのがあるから所詮原音再生なんて望むべくもなく、歪やノイズにまみれてるんやって思わなくもない。そういう界隈では「測定器では分からない云々」てくだり良くあるけど、「こんなに測定器に表れてても分からない」ていうのが現実。むしろAMラジオのが生の音に近い素直な波形だと私は思う。

 

▼これで言い逃れはできまい。

195kHz

デジタル化は断捨離??

スキャナで本や書類や写真をデジタル化して原本は捨てる。テープやCDをデータにして捨てる。これって断捨離してるとか捨ててるんじゃなくて、単に片付けとか整理法の類じゃないのかな?? 検索してると中には長い間がんばってiPhone(iTunes)に取り込んだから捨てました、シンプルライフばんざい!! みたいなシャレオツーなブロガーもいて、意識高いねー。って感じ。おもしろーー。

ぶっちゃけCD数百枚程度のリッピングなんて労力はたかが知れてる。CDDBからタイトル引けるリッピングソフトでwavかmp3にするだけなら数日~数週の夜間労働で済むはず。読み取り3分、入れ替え1分ならCD1枚5分以内。1日2時間作業なら4日で100枚。外付けドライブ1台増設で並列処理すれば2日で100枚以上はいけるだろう。こんな単純作業ブログにハウツー書いて○カ月でやりきった!!なんて書くほどの手間でもない。意識高い系の人って事務作業苦手なんか。それか非効率な作業をちまちまと行うことがライフハックだとでも思ってるのか。

自分は3日間、のべ5時間くらいで180枚ほどのCDをすべてリッピング完了。ブックレットや表紙、CDレーベル面のスキャンも同時進行で。もし、1日2~3枚で、とかしてたら当然数カ月はかかるわ。準備とかのロス考えたら並列処理で一気にやるほうが時間が節約できると思う。

CD以外でも捨てられないものは、あるテレビ番組で捨てられない物を写真に撮って、、とかやってたけど、アイフォーーンで撮ってんの。アイフォニアは意識高いね。モノを再構成できるくらいの資料写真にするとかならともかく、スマホの俯瞰写真なんて眺めて感傷に浸るくらいの使い道しかないことなど明白。シンプルとゆーか、劣化したモノにしがみついてるだけやん、とか思う。いくら劣化複製でも良いといっても、紙焼きの写真をアイフォーンで撮って紙焼きとフィルムは断捨離しようなんて考えない方がいいだろう。

MP3という音楽データの圧縮方法があると知ったのは今から20年くらい前か。CD-Rドライブを手にしてから、あるときMP3にして保存したら手持ちのCDが1/10になってだいたいCD10枚に収まるやん。最高。とか思い立って実行したわけ。で、結果は失敗。スペースが節約できたその時は満足だったけど、音質の劣化や欠落に気づいたら不満爆発。非圧縮や可逆圧縮を使ったとしてもDVD-Rなんてたかだか4.7GBしかないのでせいぜいCD 8~10枚入れるのがせいぜい。

それから十年以上が経過してBD-Rの普及でようやくCDのイメージ化、データ化の環境が整ったと感じるようになった。これならBD-R DLでCD 70~90枚が非圧縮で入る。それに、CDのリッピングも当時よりだいぶ安定したし。DVDで保存したもSDTVのビデオも、今のHDTVで見るとみるに堪えないのは多くの人が感じていると思う。MP3で保存したデータのもやもや感はこれとほぼ等価だ。しかしCDから起こしたMP3の劣化は自らの作業に原因があるという点で、もともと画質が悪いアナログ放送のDVD録画とは異なるわけ。将来を見越してデジタル化するというのもなかなかむつかしい。

まあ、どう言ったところでガワは捨てても中身にはしがみついているわけで、スマートになったとはいえ、断ち切ったという類のものではないな。どうせリッピングしたところで大半のCDは聞き返すことも無い。ダンシャリなんてわけのわからないバズワードで煙に巻くんじゃなくて、せいぜい「デジタル整理法」くらいなら名前負けしないと思う。

音楽CDを捨てる前に保存しておきたい

前にMDをすべてFLACに変えて捨てるエントリ(MD、HiMDの資産を引き継ぐ)を書いたのだけど、 やっぱり音楽CDもうっとおしくなってきた。最初のころのは1980年前半からあって、すでに30年以上経っているはず。リッピングしてみるとエラーは出ないものの妙に読み取り速度が遅いのも出てきててどうなんだろう状態。(すでにディスクが劣化してきて遅いのか、プレス工程が原因でもともと速度が出ないのかは分からない。) もう何年も聞いていないものも多いし、BDにイメージ化して大半捨てることにした。CDのコレクションはしていないので、好きな人に比べて多くはないとしても200枚近くはありそう。

ここで失敗したくない保存形式。ご存じ音楽CDことCD-DAは単純なISOファイル1本というわけにはいかないので次のような選択肢が考えられる。

  1. wavファイルで保存
  2. mp3やoggなどの不可逆圧縮形式に変換
  3. FLACなどの可逆圧縮形式に変換
  4. bin+cueで保存

単純にファイル化して聞く、という用途なら1~3のいずれでも良いのだが一度128kbpsくらいのMP3で保存して現物を廃棄したものを後で聞き返すと音質が悪くてがっかりした経験がある。256kbpsだったら満足しただろうか? そんな心配をするくらいならwavか可逆圧縮を使うべき。今や50GBのBD-DL保管でもざっと50枚以上の市販CDを保存できるだろう。HDDを使えば数千枚のCDを非圧縮で取り込みできるはず。

しかし私は第四の選択肢bin+cueのイメージを選んだ。この形式なら1CD2ファイルで保存できISRCなどの情報も欠落させずに保存できる。ただし問題は扱い方。bin+cue→wav変換ソフトはあるものの、コマンドラインからの指示ができず後で一括処理することが面倒そう。仕方がないのでbchunkというLinux向けのソフトをWindowsのVC++に移植するハメに。bchunkの改造の内容はまた別で書くとして、なんとか移植成功。これで音楽CDも心おきなく断捨離できるハズ。※データとして残ってるわけだから、断捨離とは言えない気もする。捨てるんじゃなくて、ただの整理か。とりあえず1枚目のBDにはシングルアルバムおりまぜて100枚くらい入った。

まあ普通は次のようにするのがよさそう。「音楽CDはリッピングしてMP3かWAVで保存すると良い。」「MP3は192kbpsが普通で256kbpsにすれば音質に関して不満は出ない。」「WAVは大きいがHDDやBDを使えるなら、悪くはない。」「どうせ大半は聞かないし音質も気にならない。」

FLACやBIN+CUEが良いのは持論だが、よほどのこだわり派でなければ薦めにくいかな。よほどのこだわり派はCDを残しておくと思うけど。それに最近はリッピングしたCDなんて聞くことがまず無いと思い始めた。→デジタル化は断捨離??

 

個人的にデータアーカイブプロジェクト

現在個人的に個人的なデータをアーカイブ中。

自分では過去に作ったり入手したデータはできるだけ保存してきた。 最初は東芝ワープロRupoで3.5型2DDのFD1枚にすべて収まっていたのに、PC9801NのDOSで2HD 2枚になり、Win95のAptivaで230MB MOになり、そのあとCD-Rになり、だんだんCD-Rの枚数が増えていった。

CD-Rでのデータ保存をあきらめて、日本橋のバスアンドタグで買ったリースアップ品のIBM Archive Python (DDS3) テープを使いだした。これは速度が遅い(1本12GBで全部書くのに2時間半くらいかかる)が、日本橋では12GB 5本 60GBで3500円くらいと非常にリーズナブルなので2010年くらいまで使い続けた。テープでのアーカイブはDDS 50本程度になっていたが、そのうち2本の計2ファイルが読み取りエラーで紛失した。テープは信頼性が高いと言われているが一般家庭での保存環境ではこの程度なのか。FDでも50枚パックを買うと1~2枚くらいはバッドセクタが発生したものだから同類の磁気テープでも同じくらいなのだろう。始めのうちは2部複製していたが、途中から面倒くささでDDSを信用して 1部にしていたので、2ファイルのうちファイルはロストした。

それ以降は50GBのBDが近所でも売られるようになってきて、バックアップはBD-R DL中心へ移行した。このころはHDDの容量増加が著しく500GB~1TBに達していたが DDS+BDのアーカイブを全部まとめるにはHDD1台では無理で、BD2部+直近のものを入るだけHDDに1部保管という体制。先日4TBのHDDを買ってきたのでようやくDDS時代とBD時代のアーカイブを全部まとめて1台のHDDに収められるような体制に。データ量はだいたい2TB強になっていた。世間ではバックアップはHDDに限る、いやクラウドだ、などと言われて久しいが自分も、そろそろHDD2部+BD1部に切り替えるつもり。ちなみにクラウドなんて個人相手の長期間のアーカイブとしては全く信用していない。

バックアップの継続には記憶装置の信頼性もさることながらメディアの入手性と復元の容易さは必要なので、今のところどこでも手に入るBDとHDDというのは落としどころとして妥当だと思う。

ところで、フラッシュメモリ系のSD、SSD、USBメモリがバックアップに不適というのは概ね異論が無さそうなのだが、HDDもファームウェアにフラッシュメモリが使われてるわけで、かつファームアップでもなければ再充電もされない。HDDのファームやPCのBIOSのメモリが蒸発して起動しなくなったとはあまり聞いたことがないものの、このへんはどうなんだろう。そういえば昔のUV-EPROMも10年程度と言われているが20年経過したUV-EPROMも今のところ再充電なしで使えてる気もする。

参考: MPC-684マニュアル – はじめに
http://www.accelmpc.co.jp/japanese/product/manuals/04-684-0.pdf

産業用x68 CPUボードの説明書だけど、このマニュアルの冒頭、開発者魂にグッときますよね。

http://www.accelmpc.co.jp/japanese/
このメーカーの他のマニュアルの冒頭部も、説得力あります。ラズパイもいいですけど、ここのちょっと使ってみたいですねぇ。。バックアップに使うHDDは5、6年程度でリプレースする予定だがHDDなら10年は持つなどと書いてあるのは果たして信用して良いのだろうか。