2017年5月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

tweet

  • tweets

« なんでまた『オープンソースで学ぶバイオインフォマティクスほしい』のか? | トップページ | こちらバグ捜査一課 »

初スパーリング

先々週「ボードの設計ミスでは?」と書いた件、その後Alteraさんからレスあり。RGMIIの最新仕様(v2.0, 2002年)では HSTL 1.5V となっているが、その前の仕様(v1.3)では2.5Vになっているそう。いまいち疑問はありますがまあ設計ミスとは言えない、という点は判明しました。しかしI/Oを2.5Vに変えてもまだいろいろ不具合があり、動かず。MACコアの中身は暗号化されていて見えないため、Alteraさんから情報を出してもらうしかないのですが、サポートに問い合わせてもなかなか的を得た答えが返ってきません。「こうしてください」と言われてそのとおりにしたらエラーになる、とか。時間ばかりかかるので、やむなくイーサの作業はいったん中断としました。サンプルデザインなりを示されないと、効率悪すぎ。

で、hostfs + パイプもだめ、USBもだめ、イーサもだめ、…となってしまい、これは本格的にまずいかも、と思ったのですが。人間追い詰められると知恵が働くもので。hostfs + 「パイプ」はだめでしたが、普通のファイルの読み書きはできてたので、これを使えないか?と画策。1手ごとに別ファイル(p001, p002, ...)に書き、読む側はファイルがopenできるまでリトライしつづける、というプロトコルでコード作ってみました。かなり無理やり感のある実装ですが、今のところ一応動いてるようで。

これで自動対戦できるかというと、まださにあらず。FPGAの思考エンジンは定跡とか駒組みとかがまったくないので、中終盤はいいのですが序盤はおそらくとてもまともに指せない。なので序盤はソフト(Deep Purple)で指し、進行度なりを見て、あるところからFPGAを呼び出す、という手続きが必要です。まあDeep Purpleの序盤も手抜きでやってるので、FPGAよりはましと言ってもかなりひどいんですが。で、半年以上離れていたDeep Purpleのコードを読み返して、上記の修正を入れて。また、Deep Purpleはいちおうネットワーク対応してあったつもりでしたが、一応最新のCSAやfloodgateのプロトコルをチェックして微調整を入れて。

でいよいよ自動対戦初トライ。私は99年に大会に初出場したときに金沢将棋98を買って、以降大会直前はそれを相手に調整していました。前回05年の大会の後引っ越したため、まずCDROMどこにしまったかわからず。(大会直前以外使ってない。)で半日つぶして、家中の箱やら引き出しやらをひっくり返して。すると思いもかけず懐かしい物が出てきたりして、「ああ、あんなこともあったねぇ…」などと感慨に浸ってたり。いや何やってんですかあんたは。そうこうしてようやくCDROMを見つけだし、Vistaにインストールすると…動かねぇし。まあ「Win95用」とか書いてありますしねぇ…98, Me, XP, Vistaと4代OS変わってますんで、動かなくても責められんか…

しょうがないので、やむなく別の相手探し。今度はフリーのソフトにしましょう、ということでいくつか検討しましたが、強さよりも使いやすさ、通信対応、メンテ具合、等、「製品としての完成度」という面からKShogiがよさそうかな、と思い試してみました。実際使ってみて、シリアルもTCP/IPもサポートしてるし、強いし速いし、使いやすいし。全く言うことなしです。(ここ、開発者目線でなくユーザ目線。)PONTAさんありがとうございます。しかし、こんな良いものただで配ってて生活大丈夫なんでしょうか。他にもっと凄い売り物ソフトがあるのかな。全く敬服です。

というわけでようやく初スパーリング。対局サーバは CSAサイトにあった高田さん作のを使って。まずは先手 Deep Purple & A級リーグ指し手1号、後手KShogi初級。…75手でKShogi勝ち。必敗の局面で挙動がおかしくなって変な文字列を返して反則負け。あと、Deep PurpleからAリーグに切り替わったのが61手めから。いやそれ遅いって。Aリーグはほとんど敗戦処理しかやってませんでした。進行度が一定以上になったら、というコードにしてたのですが、ここ調整しないと。まあ、十数手指したので、プロトコルの確認はできました。あと、負けそうになると王手ラッシュをやる、ということはわかった^^;

次こっちが後手でやってみたら、対局サーバからの指し手エコーを相手の手と勘違いして、すぐ終了してしまいました。ふぉっふォッフォッ、まだまだ未熟よのぉ、おぬしは。これ、もしかしてお約束?いちおう自動対戦できるメドはついたものの、まともに指すようになるにはまだかなり道は遠そうです。

進行度の件は少し考えるに、駒組みがほぼ終わってそろそろ仕掛けるか、というあたりでFPGAに渡すようにしたいのですが、今の進行度の定義では駒を取ったり侵入したりしないとほとんど進まないため見直し必要そう。まったく予想外の課題ばかり増えていきます。

« なんでまた『オープンソースで学ぶバイオインフォマティクスほしい』のか? | トップページ | こちらバグ捜査一課 »

将棋プロセサ」カテゴリの記事

コメント

うちでも金沢将棋98はWindows2000で動きませんでした。
VirtualPC+Windows98では動作しました。

あと、確認はしていませんが、互換モードでWindows95 指定したら動くなんてことはないでしょうか。

かずさん、はじめまして。
ロスト・テクノロジーのユーザがもう1人いましたか^^; 金沢98はXPマシンでは動いていました。なので、使おうと思えば使える状況にはあります。ただTCP/IPがないので、これからはメインはKShogiになりそうです。

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/507007/10860297

この記事へのトラックバック一覧です: 初スパーリング:

« なんでまた『オープンソースで学ぶバイオインフォマティクスほしい』のか? | トップページ | こちらバグ捜査一課 »