2010年01月07日

IsoImageUtil レビュー

ナガエ氏が開発した IsoImageUtil の感想です。

IsoImageUtil は、これから ISO9660、JOLIET、UDF を勉強しようと考えている方々にはうってつけの素晴らしいアプリケーションです。
大量にある各システムのパラメータのほぼ全てを一覧表示し、いくつかを書き換えることができます。これを成し得ただけでも凄いです。
4年前にこれがあったらどんなに開発がスムーズに進んだことか。

ただ、私の無理矢理なエセ訳語がそのまま使われているのは恥ずかしいです。

プログラマーとしては、表(セルシート?)を作れるところがうらやましいです。
それから、大きなファイルでも一瞬で保存が終わるのが凄いです。そのかわり、こういったプログラムなら普通は行われるバックアップの作成が行われないのは、危険な気がします。ディスクイメージは下手すると何ギガ、何十ギガもあるので仕方が無いのかもしれませんけれど。

私の Windows Me でも問題なく動作します。

ですが、無料配布されている Microsoft Visual Studio 2008 Express Edition SP1 の DVD イメージファイルでは、
「ディレクトリ本体の論理ブロックを読み込めません」というエラーが出ました。

今後、DVD-RAM の UDF1.5 や、Blu-ray の UDF2.6 への対応を期待しています。
posted by 七癖 at 10:25| Comment(6) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2008年08月27日

「窓の杜」にて「せんべえ丸かじり」が紹介されました。

窓の杜」にて「せんべえ丸かじり」が紹介されました。

紹介URL:http://www.forest.impress.co.jp/article/2008/08/25/senbeemarukajiri.html

また、「窓の杜」編集部の Windows XP/Vista で動作確認されたことを記しておきます。

キャプチャ画像を見るかぎり、レイアウトの大きな崩れも無いようです。

紹介していただいたのみならず、動作確認までしていただき、「窓の杜」さんには、この場を借りて深くお礼を申し上げます。
posted by 七癖 at 19:32| Comment(3) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年10月03日

このフリーソフトがすごい! best 350(2007ー2008最新版)

このフリーソフトがすごい!BEST350 2007-2008―Windows Vista/XP対応 (2007) (アスペクトムック)



立ち読みしてきました。
前に「せんべえ丸かじり」CD-ROM収録のお願いが来た冊子です。

索引が見つからなかったので、探すのに苦労しました。
数行の文章だけかと思ったら、
小さいけれどもカラー画像と使い方の説明が付いていてビックリです。
1/10ページ弱の紹介ですけど、
なんだかすごい励みになりました。

Vista/XP 対応とありますけれど、あまり深く読んでいないので、執筆者が全てのソフトを XP と Vista で確認したという文言は見つけていません。まあ、信じましょう。書いてあったらごめんなさい。
ユニコードの問題があるので、結構不安なのです。
posted by 七癖 at 07:44| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年07月23日

「CD-ROM収録のお願い」が来ました。

「せんべえ丸かじり」をムックに収録したいとのメールが来ました。
初めてのことでなんだか嬉しいです。

続きを読む・・・
posted by 七癖 at 22:28| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年07月15日

Lethal Application 2000万点突破

大雪戦の同人ゲーム「Lethal Application」の Ultimate モードで 2000 万点を突破しました。
やったー!
・・・いや、うれしかったもので、つい・・・。
知っている人がここに来るとは思えないけれど。

リプレイファイル
LApp_50_info.lzh
posted by 七癖 at 14:22| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年06月17日

DirectSound で悪戦苦闘

今日は、ISO9660ファイルシステムの話を休憩して、この前の音楽再生プログラミングの状況を書きます。

続きを読む。
posted by 七癖 at 10:44| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年06月09日

Ogg Vorbis と Wave 再生プログラミングで悪戦苦闘

今日は、ISO9660ファイルシステムの話は休憩して、最近手を付けた .ogg ファイルを再生するプログラムの状況を書きます。
(発表予定はなし。)

続きを読む。
posted by 七癖 at 09:53| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年05月19日

実は一周年


このブログを始めて、今日で一年が経ちました。

休み休みですし、ときどきとんでもない間違いを書くこともありますが、これからもよろしくお願いします。
posted by 七癖 at 09:04| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年02月21日

せんべえ丸かじりver.0.011製作のあれこれ

CD Manipulator でマスタリングしたイメージファイルが読み取れなかった問題に関することです。

ISO9660 イメージを読み取る時、普段はディレクトリ内を調べて、子ディレクトリがあればそこに行ってその中のファイルを調べて…とディレクトリを順に辿って、よくある再帰を使う方法でファイルの一覧を取得しています。この方法だと、記述が正確であればファイルとディレクトリが入り乱れていても正確に取得できます。ですが、CDM ではこのディレクトリのサイズに問題があります。ディレクトリ内のディレクトリレコード(ファイル情報)の配列は、レコード間が詰まっている場合もあれば幾らかの 0 スペースが入っている場合もあります。(一つのレコードのバイト数を偶数にするための埋め込み 0 とは別です。) (これで「せんべえ丸かじり」を修正したことがありました。) 個々のレコードにヘッダやタグや CRC はありません。このため、ディレクトリの長さをそれ自身から取得するのは大変です(というより思い浮かびませんでした。)

そこで、ルートディレクトリの大きさが 34 バイト (それ自身のディレクトリレコードのバイト数) 未満のときには、別の方法を試すことにしました。(とはいえ CDM ではルートにファイルが大量に置いてある場合に 34 バイトを超える可能性があります。)

ここで、ISO9660 のもう一つの読み取り方法であるパステーブルを使ってみることにしました。CDM では、PVD(SVD) に書かれているパステーブルの位置と大きさは大丈夫みたいです。パステーブルでは、全てのディレクトリとその位置が取得できます。しかしディレクトリのバイト数は元々書いてありません。そこで、ISO9660 と JOLIET のパステーブルとディレクトリ群は一箇所に固まっていると仮定しました。素直なディスクであればこうなっています。そしてパステーブルとディレクトリを全て取得して順に並べ、次のディレクトリが始まる前までがそのディレクトリの長さとみなしました。これで最後のディレクトリ以外は長さが取得できます。(最後がパステーブルであれば楽ですが。) ISO とJOLIET が両方あれば、片方でファイルの全位置が確定するので、最後のディレクトリは最初のファイルの先端までとしています。ですが不幸にしてファイルが見つからなかったり、一部の UDFブリッジ("Aplix UDF"とか"せんべえの生地作り"とか)のようにファイル本体の後に ISO&JOLIET システムがある場合は、やむを得ず1セクタ(大抵2048バイト)としました。むろんファイルとディレクトリの位置がごっちゃになっていればお手上げです。

これで甘いながらもある程度は何とかなるだろうと思ったのですが、予想外の事態が発生しました。CDM では、ISO と JOLIET とでディレクトリ構造が違ったり、ディレクトリの位置が ISO の下位ディレクトリと JOLIET の上位ディレクトリとで重なってしまう場合があったのです。いやマジで。「せんべえ丸かじり」の側の問題ではないと思います。(あまり関係ありませんが、同じ構造を"せんべえの生地作り"と"B's Recorder GOLD Basic 7"で作成したところ、問題ありませんでした。)さすがにお手上げです。CDM のソースを確認する気にもなれません。(CD の読み書きは CDM のコードを読み取ることから始めたのですが、イメージファイルの読み取りと作成では mkisof を大分参考にしたものの、ファイル構造の保管などは自分で考えたように作成したもので、わからないのです。)すみません。

イメージのデータ構造が正しいことを当てにしていると、こうなるのでしょうね。現状の「せんべえ丸かじり」は、データ構造のエラーに対しては、あまり強くありません。

というわけで、「せんべえ丸かじり」では "CD Manipulator でマスタリングしたイメージのごく一部に対応" で諦めます。なにか良いアイデアでもないかなあ。
posted by 七癖 at 20:12| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年02月13日

Seesaa BLOG がリニューアル

リニューアルキャンペーン
リニューアルキャンペーン開催中
Seesaaブログが新しくなりました。デザインはもちろん使い勝手もさらに便利に!
新規登録の方も既にお使いの方もプレゼントが当たるチャンス。



たまには、ブログサーバーのキャンペーンに乗ってみます。

それで、デザインが変更された感想ですが、はっきり言って使いにくくなりました。
理由は、デザインが崩れるから。
って、推奨環境が Windows XP/Vista、Mac OSX と IE6.x、firefox1.5以上、safari1.3以上、になってました。
ME & IE5.5 ユーザーは置き去りですか。
アクセス解析を見ると、Win2k もそこそこで、UNIX や Linux や WinNT や Win95 もいるのだけれどもなあ。
(Opera や IE7 はどうなのでしょうか。)

せめて、全体が左に寄るのだけでもなんとかしてくれないかなあ。

あと、前から思っているのですが、アクセス解析のリンク元から検索エンジンの検索後の URL を抜いてくれませんかねえ。ほとんどが Google と Yahoo でして、せっかくリンクしてくださったサイトを探すのが大変で仕方ないので。
タグ:Seesaa
posted by 七癖 at 18:10| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年02月11日

再開のお知らせ

OS の再インストールですが、"不明なデバイス"の問題と解決策をあらかじめ確定してなかったが為に、都合4回もやり直すことになってしまいました。この話はまたそのうちに…。
今回は WindowsUpdate が終了した時の事を考えて、保管しておいたパッチを一つずつ当ててみました。半分くらいで再起動を要求されて面倒でしたが、それに応じたためか前より調子がいいです。
必要なソフトをインストールし終えて、デフラグをかけてこれで完璧と思いきや、VisualC++6 でこれまでビルド出来ていたプログラムがビルド出来ず、インストールに不備があったことがわかってがっくりしています。なかなか全てが上手くはいかないものです。
全体としては今のところ満足しているので、このままいきます。出来ればずっと。

それから、ブログのデザインの修正は、まとめページ以外は終えました。サーバーから提供されたスタイルシートを所々変更しています。IE5.5SP2 以外では確認していませんので、他では崩れているかもしれません。まあ、このブログではむやみに大きな表が載せられているため、記事が左メニューの下に移動するのはいつものことですが。リンクされている文字列は青系でカーソルが上に乗ったときと履歴にあるときとで微妙に変化しますが、余計見難くなったかもしれません。
とくに苦情がなければ、このままいきます。

というわけで再開します。またしばらくは雑談かなあ。
posted by 七癖 at 14:59| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年01月31日

またもや小休止のお知らせ

OSを再インストール(ハードディスクをフォーマットしてのクリーンインストール)するため、2週間程度お休みさせていただきます。
Vista ではありません。パソコンのスペックもないし、買うお金もありません。
これまでどおりの Me です。
秋にやったときに失敗し、そのまま使ってきましたが、気分的に耐えられなくなってきたため、やり直します。今度こそは…

その後、ブログのデザインの修正を行う予定です。
変えたいところは、リンクの色関係などです。スタイルシートをいじってみます。
サーバーのリニューアルメンテナンスが2007年2月6日なので、その後になります。
少し変えるたびに更新して確認するので、何も変わっていないのに「更新された」が頻発するかもしれませんが、ご勘弁ください。
posted by 七癖 at 11:58| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年01月17日

cdm-fix 5 であがいてみました。

(注意。以下で挙げられている不具合は、cdm-fix 6 以降では修正されています。2007/01/21)


c-yan さん。コメントをありがとうございます。

それで、cdm-fix 5 のコードを見て思ったことを書いておきます。
こちらではビルドして確認もできませんので、このブログの記事にしておきます。

cdm-fix 5 の書き込みが、私の環境でエラーになった原因は、
WRITE(10) の WaitForSingleObject
を実行する前に、
ResetEvent → READ BUFFER CAPACITY
を実行してしまったためと思います。

CAspiDriver で、大抵のコマンドで使う
CAspiDriver::ExecuteCommand
は、コマンドが完全に終了してから戻ります。

  ResetEvent(m_hEvent);
  cmd.SRB_PostProc = (LPVOID)m_hEvent;
  ret = m_SendASPI32Command((LPSRB)&cmd);
  if(ret == SS_PENDING)
    WaitForSingleObject(m_hEvent,INFINITE);

ですが、WRITE(10) のみ使っている
CAspiDriver::ExecuteCommandAsync
では、前のコマンドを終えるのを待って次のコマンドを実行し、それが終わるのを待たずに戻ります。

  if(m_Ret == SS_PENDING)
    WaitForSingleObject(m_hEvent,INFINITE);
  ResetEvent(m_hEvent);
  m_Cmd.SRB_PostProc = (LPVOID)m_hEvent;
  m_Ret = m_SendASPI32Command((LPSRB)&m_Cmd);

書き込みは時間がかかるため、その間に次のデータを用意しておくためです。

どちらも、同じ1つのイベント
HANDLE CAspiDriver::m_hEvent;
を使っています。

それで、前の動作が終わったのを確認せずに次の動作を行ったため、どっかがかち合ってしまったように思います。

それで、解決案ですが、
READ BUFFER CAPACITY によるバッファ残量の確認を
CAspiDriver::ExecuteCommandAsync
内の ResetEvent の直前に移動してはどうでしょうか。
http://senbee.up.seesaa.net/cdmfix5/fix5fix.txt

まあ Pioneer のドライブで書き込めなければ本末転倒ですけど。

見当違いでしたら、ごめんなさい。
posted by 七癖 at 19:17| Comment(3) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2007年01月15日

cdm-fix 5

(注意。以下で挙げられている不具合は、cdm-fix 6 以降では修正されています。2007/01/21)


Leafel's note から、Win9xユーザーが待ち望んだ ASPI 対応の CD Manipulator Version 2.70 Fix 5 がついにリリース、ということで使ってみました。

使用環境は次のとおり。
パソコン:自作機
OS:Windows Millennium Edition
CPU:Celeron 2GHz
メモリ:512MB
HDD:40G, 20G程度の空き
ドライブ:日立LG HL-DT-ST DVDRAM GSA-4081B
ファームウェア:A100(初期状態)
メディア:TDK CD-RW 700MB (型番は多分 CD-RW80X5CCS)
ASPI:WNASPI32.DLL 1.0.0.0 (Windows Me 標準)

Pioneer 製のドライブを使っているわけではないので、cdm-fix にこだわる必要は全くないのですが。

ダウンロードした .zip ファイルを解凍し、Japanese.cml を元からフォルダにコピペして、.ini ファイルの無い初期状態から起動。Win95 搭載パソコンを自作してもらったときのマザーボード付属 CD-ROM から cue+img イメージを作成。これはもはや使うことは無いだろうけれど、 データトラック1つのみで時間は 03:50.44 と短いので、ドライブ制御プログラムの最初のテスト用として重宝しています。プログラム作成の為ということで勘弁して。
とまあ変えてないところは問題ないようなので、パソコンを再起動後、.ini ファイルを削除して起動、書き込みをしてみました。

この場合の書き込み環境は次のとおり
送信ブロックサイズ:32KByte
高度な設定は全てON
書き込み速度は最大(多分2倍速)

ボタンを押して書き込み開始・・・
コマンドは自動で RAW+96 が選択され、レーザー出力の調整後、リードインの書き込みが始まって、

画面が青くなったあ。そして

 Windows
 例外 OE が VxD --- の 0028:C0031552 で発生しました。VXD --- の0028:C1C18619 からの呼び出しです。このまま続けてもかまいません。
 * 続けるにはどれかキーを押してください。
 * Ctrl + Alt + Delete キーを押すと、コンピュータを再起動します。この場合、アプリケーションで保存していないデータはすべて失われます。
 どれかキーを押すと,続行します。

で、リターンキーを押すと、元の画面に戻り、しばらくしてディスクが吐き出され、

 リードイン書き込み中にエラー(このドライブには対応していません)
 エラーの発生により中止しました。

というメッセージが表示されて終了。

このときのログはこれ。
http://senbee.up.seesaa.net/cdmfix5/log5.txt

書き込み中のエラーは怖いなあ。まあ「せんべえ焼き」を開発中はいつものことで、無限ループにはまってデバッガで強制終了させたりリセットボタンを押したこともあったけれど。そのときには CD-RW の記録面を見ると色の違う細いリングが見えたりして。
ただ今回はメディアに何の書かれていないようで CD-RW をフォーマットする必要もなかったです。

パソコンを再起動後、前の cdm-fix4a でそのメディアに同じイメージを同じ環境でやってみたところ、問題なく焼けました。
成功したログはこれ。
http://senbee.up.seesaa.net/cdmfix5/log4a.txt

日記や説明書を見ると、Nero の ASPI でテストしているため、サイトで公開されている DLL をダウンロード、インストールして試してみました。
ダウンロードサイト:http://www.nero.com/nero6/eng/ASPI_Driver.html
もちろんMe用を使用。バージョンは 2.0.0.11?
リードインの書き込みが始まって、今度は、

 Cdmanipulator が原因で WNASPI32.DLL にエラーが発生しました。Cdmanipulator は終了します。
 問題が解決しない場合は、コンピュータを再起動してください。

というメッセージが出て強制終了。ログを保存出来ませんでした。

なお、cdm-fix 4a + Nero ASPI の組み合わせでは、普通に焼けました。


役に立たない続き
posted by 七癖 at 17:38| Comment(2) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2006年11月07日

一応再開のお知らせ

えー、いろいろと失敗しましたけれど、OS の再インストールが終わりました。メモリが512MBとはいえ、起動直後でリソースの空きが87%、Ctl+Alt+delを押したときに表示されるのが Explorer, Internat, Systray, Imejpmgr の4つのみ(実際にはもう少し動いていますが)。起動も早くなったし、まあこんなものかな。…だからANTIDOTEが必要なのですよ。

とはいえ、プログラムの方はまったく進んでおりません。どうしましょうか。せっかくですから、しばらく Windows Me の話でもしましょうか。


続きを読む
posted by 七癖 at 09:49| Comment(0) | TrackBack(2) | 雑記 | このブログの読者になる | 更新情報をチェックする

2006年10月31日

小休止のお知らせ

OSを再インストールするため、1〜2週間程度、お休みさせていただきます。

6月以来、むりやり隔日更新をしてきましたが、11月中は不定期の予定です。

あと、トップページ左のメールアドレスを、
容量が前より大目のものに替えておきます。
(大文字で書いてありますので、小文字に直してください。)
前のもそのまま使っていきます。

って、このブログを定期的に読んでいる人は一体何人いることやら。
相変わらず"I00"の検索で来る人が一番多いんだけれどなあ。


以下駄文。
posted by 七癖 at 17:51| Comment(0) | TrackBack(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2006年10月01日

拡張子 I00 I01 I02 … について

最近、"拡張子" "I00" "I01" といった検索結果で来られる方がいます。拙作 「せんべえ焼き、もしくはコースターメーカー」 や 「RAR内の大きなファイルを分割して解凍するツール」 で用いているこれらは、「DVD Decrypter」 で使われているのをまねたものです。(「DVD Shrink」でも同様らしいし、他にも使っているアプリケーションはあるかもしれません。) I00、I01、I02…と言ったファイルは、いわゆるISOイメージファイル (微妙な表現だと思うが) を分割したものです。

DVD Decrypter では同時に .mds ファイルを作成します。これをバイナリエディタで覗いてみると、ver.1.2 や ver.1.3.1 では最後の方にイメージファイル名が書かれています。無理やりメモ帳で覗いてみてもいいです。他にも使用するイメージファイル名のほかにレイヤーの分割など元のDVDディスクに関する様々な情報を含んでいます。(正確な内容は…誰か教えてくれー) 「DVD Decrypter」 や「ImgBurn」 で焼いたり 「DAEMON TOOLS」 にマウントする時には .mds ファイルを使います。
「DVD Decrypter」 や「ImgBurn」には、分割イメージファイルから .mds ファイルを作成する機能がありますが、当然 DVD 固有の情報を再現することは出来ません。2層ディスクに焼こうとされる方は、気をつけたほうがいいかもしれません。

なお、「せんべえ焼き」 で分割されたDVDイメージや 「RAR内の大きなファイルを分割して解凍するツール」 で分割されたファイルは、単純につなげてやれば元の一つのファイルに復元できます。結合するには、たとえば DOSプロンプトで

COPY /B IMAGE.I00+IMAGE.I01+IMAGE.I02 IMAGE.ISO

と入力すれば、分割ファイル IMAGE.I00〜I02 から 結合されたファイル IMAGE.ISO を出力します。4GB以上のファイルが扱えなくて結合できない人も多いと思いますが。

「せんべえ焼き」 で同時に作成される .dvd ファイルには、テキスト形式で分割ファイル名が順番に書かれているだけです。

IMAGE.I00
IMAGE.I01
IMAGE.I02

こんな感じです。「メモ帳」で簡単に編集できます。

 
posted by 七癖 at 14:07| Comment(1) | TrackBack(1) | 雑記 | このブログの読者になる | 更新情報をチェックする