* playcd0の動作報告ページ -''[警告] これはベータ版の話題です。何の話か分からない人は[OSASK 6369]を。'' -playcd0d以降の部 |めーか|どらいぶ|ばーじょん|どうさ|ほうこくしゃ(敬称略)|びこう| |IO-DATA|CDRW-AB32J|playcd0d|□|tokuichi|中身はリコーのRW7320Aかも| |LITEON|LTN403|playcd0d+|○|[[あっきぃ]]|| |MATSUSHITA|UJDA720|playcd0d|○|[[ZAKKY]]|| |MITSUMI|EW4CRMC-FX400E|playcd0d|○|[[K]]|| |Plexter|PX-PW1210A|playcd0d|□|hideyosi|8/5 00:10| -どうさについて --○:何の工夫もなしに認識するよ。やったぜべいべー(今のところはたまにlistがおかしくなるのもここに含む)。 --□:playコマンドと最後の曲のsply以外は動作。 --◇:stopがきかない。それでもステータスはpauseになり、playするとstopを実行したところに戻る(playcd0d+をおすすめします)。 --△:listがおかしい。だからうまく演奏できない。 --×:何をやっても駄目らしい(泣)。 -playcd0cまでの部 |めーか|どらいぶ|ばーじょん|どうさ|ほうこくしゃ(敬称略)|びこう| |Gold Star|CRD-8160B(CPQ)|playcd0c|○|くーみん|いきなりスピーカーから大音量 (型番はCDexで調査)| |IO-DATA|CDRW-AB32J|playcd0c|□|tokuichi|中身はリコーのRW7320Aかも| |LITEON|LTN403|playcd0c|○|[[あっきぃ]]|| |MATSUSHITA|UJDA720|playcd0c|○|[[ZAKKY]]|イヤホン端子がなくて音は聞こえない| |MITSUMI|FX400|playcd0c|○|hideyosi|8/3 16:00| |MITSUMI|EW4CRMC-FX400E|playcd0c|○|[[K]]|| |MITSUMI|EW4CRMC-FX800SA|playcd0a|○|[[K]]|| |Plexter|PX-PW1210A|playcd0c|◇|hideyosi|8/3 16:00| |TEAC|CD-W54E|playcd0c|○|[[あっきぃ]]|| |TEAC|PD-518E|playcd0c|◇|[[聖人]]|PD/CDドライブ| -どうさについて --○:何の工夫もなしに認識するよ。やったぜべいべー。 --□:playコマンドと最後の曲のsply以外は動作。 --◇:playコマンドも最後の曲のsplyもできるけどstopがきかない。 --×:何をやっても駄目らしい(泣)。 * 情報提供欄 -OSASK-MLに投稿するのが面倒な人はここに書いてください。僕が表にしておきます。 -- [[K]] SIZE(10){2003-08-02 (土) 17:38:43} -FX400とFX400Eは違うのだろうか?それともM/Bの問題? -- [[K]] SIZE(10){2003-08-02 (土) 23:24:09} -編集ミスで表を破壊してしまったかも… -- [[あっきぃ]] SIZE(10){2003-08-03 (日) 12:15:04} -たぶんバックアップで修復出来たと思うのですが… -- [[あっきぃ]] SIZE(10){2003-08-03 (日) 12:16:23} -あっきぃさんへ:新しいバージョンで試したら古いバージョンの報告は消していいです。備考のところはあっていますか? -- [[K]] SIZE(10){2003-08-03 (日) 12:18:19} -あってますよ -- [[あっきぃ]] SIZE(10){2003-08-03 (日) 12:22:46} -hideyosiさんに質問:PX-PW1210Aについてですが、□の症状に加えてstopが効かないということですか?それともplay xxとかはできる? -- [[K]] SIZE(10){2003-08-03 (日) 16:10:56} -hideyosiさんにIRCでお返事をもらいました。表に反映させておきました。 -- [[K]] SIZE(10){2003-08-03 (日) 16:43:40} #comment * チャレンジャー向けのソース改造 (playcd0d → playcd0d+) -この改造はplaycd0dのみに有効です。stopコマンドがきかないドライブをきくようにできます。 -playcd0.cの471行目を少しだけ変更します。 --変更前: if (playaudio(drv, 0, i + 5) == 0) --変更後: if (playaudio(drv, 1, i + 2) == 0) -これだけでstopコマンドがちゃんときくようになると思います。 * チャレンジャー向けのソース改造 (for playcd0c) -''playcd0bを使っている人はplaycd0cにバージョンアップしましょう。''それでもだめなときにこの改造をしてみるといいかもしれません。 -drvコマンドでどうしても(03)エラーが出てしまう場合、もしかしたら次の方法で克復できるかもしれません。ASKA.ASKの_testatapi@8()を改造します。131-133行目を次のブロックと交換します。 --変更前: OUT(DX, AL); EDX ^= 0x200; /* 1f6など */ AL = CL; --変更後: OUT(DX, AL); ← この行は変わってない(旧131行目) EDX -= 0x200 + 5; /* 1f1など */ AL = 0; OUT(DX, AL); EDX++; OUT(DX, AL); EDX++; OUT(DX, AL); EDX++; OUT(DX, AL); EDX++; OUT(DX, AL); EDX++; /* 1f6など */ AL = CL; ← この行も変わってない(旧133行目) -これで動いちゃうかもしれません(2003.08.03 13:19にパッチのバグを直しました)。 -これだけだと状況が改善したのかどうか分からないこともあるので、次の改造をするとさらにお得です。playcd0.cの326行目を次のように変更。 --変更前: status = testdrive(drv, 1, (unsigned char *) buf1024); --変更後: { cputs("testatapi_OK\n", cons); status = testdrive(drv, 1, (unsigned char *) buf1024); } -OKがでれば、進展ありです。 * チャレンジャー向けのソース改造 (for playcd0a) -''こんなことするよりもplaycd0bを使うほうがいいです。'' -うまくいかない&スーパーチャレンジャー用です。 -260行目のstruct CONSOLE *cons;の頭に//をつけてコメントアウト。 -そして以下のデバッグルーチンを31行目に挿入。 struct CONSOLE *cons; void dump(int i) { char s[4]; s[2] = 32; s[3] = 0; s[0] = "0123456789ABCDEF"[(i >> 4) & 15]; s[1] = "0123456789ABCDEF"[i & 15]; cputs(s, cons); return; } -ここまでやったら、drvコマンドの中の if (testatapi(drv, buf1024)) goto drv_err; -を見つけよう。そして書き換えだ! i = testatapi(drv, buf1024); dump(i); cputc('\n', cons); if (i) goto drv_err; -これで、何が出るかな?IRCで[[K]]に報告しよう。 --00が出る:認識成功してるじゃん。 --01が出る:drvataかplaycd同士の競合? --02が出る:ATA/ATAPIレジスタが検出できない。 --03が出る:IDENTIFY PACKET DEVICEコマンドが受け付けられなかった。 -↑で03が出る人へ。多分全く効果はないと思うけど、ひょっとしたら状況が改善するかもしれない改造を紹介します。 -上記パッチの「if (i) goto drv_err;」を削除してみてください。 -まあたぶん改善しないと思いますが・・・。 -どうもむしろ悪くなるようです。やらないほうがいいみたいです。
(This host) = http://osask.net