(M)のドタバタ編集記 2007年1月号(?)


●1月1日
 明けましておめでとうございます。
 今年もよろしくお願いいたします。

 …とりあえず、新年最初の日は充電日ぃ〜(^^;)

●1月2日
 今日は親類が自宅に来るので、あわてて部屋を片付け(去年じゅうに掃除しとけって?!)たり。朝も早いご家族なので、10時すぎにはもう最寄り駅から電話があったり。今年初めての外出は、駅までお出迎え。今年もよろしくお願いしますぅ〜

●1月3日
 今日も充電中…(^^;)


 …って、寝てばかりもいられないので、BLANCA用お手製電源ユニットの工作を… 先日見つけたときに入手できなかったケースも後日入手できたので。 ATXコネクタの電極のはんだ付けをミスって何本かやり直し(^^;)たりしましたが、なかなかいい感じに仕上がりましたよ(あ、TB-38は中に基板固定ネジ止め用?の突起があるんですが、ニッパなどを使って切断してくださひ)。 あとでデジカメで写真でも撮ってWebにアップしましょうかね。

●1月4日
 さて、今日こそはBLANCAの某インターフェースのバグ(^^;)をつぶすべく、集中してデバッグ作業開始。フラッシュ書き換え時に最初にエラーになったとき、実際にフラッシュがどういう状態になっているかをダンプしてみると… あぁ〜たしかにコレは、ステータスエラーを示してるね… でもなんでエラーになるんだろ… もしかして、アクセス速度が速すぎ? そこで思いっきりウェイトを入れる設定で論理合成&配置配線してテストしてみるも、症状は変わらず…(涙)
 前回アナライザで見つかったEP2からNAKが返ってくる問題と絡んでるっぽいのはたしかなんだが… だいたいさ、なんでEP2に連続してコマンド送っちゃうわけ? っと、Windows側のVBのソースを改めて見直すと… ん? あれ?! このフラグ、どこでクリアしてるんだっけ?? …あは… あははは…(滝汗) そそくさと修正して動作テスト。いままで100%症状が発生していたところで、何の問題もなく通過…
 結局、一番疑ってたハードウェアでも、2番目に疑ってたファームウェアでもなく、一番疑ってなかったWindows側アプリの問題ってか?? この修正で、同時に発生していた複数のバグの症状も消えてしまったな… ホントか? バグの発生確率が下がっただけで、潜在的なバグは抱えたままのような気も…
 パケット送受信制御やフラッシュの書き換えはnsオーダのアクセスタイミングだけど、イベントの発生はmsオーダなので、メモリの少ないハンディタイプのロジアナでは一気に事象をキャプチャできないし、たとえ広大なログメモリを備えたロジアナをもってきても、闇雲にキャプチャして頭から確認してくなんて日が暮れてしまうし(いや、1回日が暮れる程度で原因が判明すればめっけもんだけど(^^;))、どうしたもんかね… もう少し、机上で通信の流れを整理してみるか…

●1月5日
 昨日のデバッグ作業が↑どうにもすっきりしないまま一晩経ってしまいましたな… ホントは昨日から出社するつもりがデバッグでつぶれてしまったので、今日は出社して特集の初校を返さないと(^^;)
 っということで、制作課を含めInterface編集部メンバが出社して校正大会ですよ(弊社はもう仕事始めですって?!)。
 そして夜。新年早々の打ち合わせは、やっぱり筆者のI氏と(笑)

 ありゃ… 富士フイルムついにSD陣営に… xD/SD両対応スロットってところが思い切りが悪いな(^^;) あと2世代くらいで、完全にSDスロットオンリーになりそうやな。
 あとは、それこそPSPがSD対応になれば世の中SDだけでいいんちゃう? ってかPSPも、この妖しいメモリースティックPRO Duoアダプタが使えれば、SDな世界でウハウハですよ! だれか近所にPSP持ってる人、いなかったっけ? このアダプタ貸すから動作確認してほしいな。

●1月6日
 さて、この連休でBLANCAデバッグのラストスパート!? ん〜 よくよく考えてみると、現状の構成だと、nsオーダのイベントとmsオーダのイベントが非同期に発生しているところで、信号の受け渡しに問題があるような気が…
 とりあえず、コントローラにレジスタを追加して、msオーダのイベントが発生するかどうかをソフトウェアで判定できるようにして、そのイベントが発生中はパケット送信開始を待つようにして、msオーダのイベントとパケット送信を重ならないようにしてみるか…
 っということで、HDLソースを書き換えてレジスタを新設。ファームウェアも修正してそのビットを参照してウェイトするように改定。FPGAをコンフィグレーションして、ファームもダウンロードして早速Go! …ん〜 とりあえず手動操作で消去&書き換えを数回繰り返してみると、問題なく動いてる感じ… ではあるが。対策前の状態でも、数回繰り返した程度では症状が発生しない場合もあるったから、手作業での動作確認ぢゃ意味がないな。
 ってことで、フラッシュを消して書いて消して書いて… をひたすら繰り返すテストプログラムを用意することに。…うん。とりあえずはエラーなく動いてるっぽいね…
 さて、では、プロトタイプBLANCAボードのフラッシュROMを書きつぶすつもりで、このテストプログラムを一晩走らせて見るか…

●1月7日
 orz..... だ、だめだ… 数十回目のテストでいきなりエラーってますよ。やっぱ根本的な対策が必要だな。
 となると、ココとココで判定が必要だし、ココでもインタラプト転送が発生しているかチェックしたほうが無難だな… ん? まてよ。ここで見るより、こっちでチェックしたほうが確実か? いや、ここぢゃダメか。あ、この上のステートであらかじめ判定してから、適当なフラグに保存しておいて、リターンする寸前で判定する?? ん〜 etc などと、HDLソースを書いては破棄して、書いてはundoして…
 うん、ここでこのタイミングを見ればこのフラグは不要だな… あ、ここぢゃなくてこっちで判定すればこのprocess文も不要だな… とか、切った貼ったしているうちに、最終的にsignalを一つ追加して、各process文のエンドポイント1の送信制御部分に1行の条件分岐の挿入を数箇所しただけで、なんかうまく綺麗にまとまってしまいそうな雰囲気。
 よし、一晩じゅう走らせっぱなしの耐久試験テスト開始!!

●1月8日
 !!! よっしゃぁ〜 10時間経過で未だにエラーなし!&ハングアップもなし! やっぱ「臭いところにフタ」的な対処ぢゃダメだね。「臭いは元から絶たなきゃダメ」ってか(笑)
 さて、もう一つ抱えている持病(^^;)は、ケーブルを挿した直後のターゲットの認識時にコケることがある点なんだけど… これ、どうしたらいいのかな。このあたりは、何人か詳しい筆者さんに相談してみるか…

 あ、CESが開催されるんだっけ。ちょっと注目やな。ちなみに、うちの筆者さんも行かれているハズなので、近号にshowレポート記事が掲載される予定です(^^;)

●1月9日
 今日は午後1番から千葉方面でBLANCAにご協力いただけそうな筆者さんと打ち合わせ。以前も何度か弊誌に原稿を書いていただいている筆者さんです。こちらまで来たのは久しぶりなので、開発室を見せてもらうことに。面白そうなボードが転がってますね(^^;) え? これって… ええ?! この中のソフトを開発されたんですか? なんと、私が買おうと思っていた某製品の一部のソフトの開発をされたとか。ん〜 世の中狭いわ(^^;) で、こちらのボードは何ですか? ほうほう、おぉ〜面白そうですね。
 で、近所の喫茶店で打ち合わせ。さきほど見せていただいたあのボードですが、時間がなくてまだ詳しく触ってないそうなので、ちょっとお時間を作っていただき、中身の構成とかを確認していただいて、コレに移植できるか、ざっと見ていただけませんか。もし移植可能となれば、ちょっと面白いことになりそうですね。よろしくお願いします!!

 こ、これはまたインパクトのある形をしたVAIOだな… コンパクトっちゃぁ〜コンパクト…なのか??

●1月10日
 最後に残った章の筆者校正があるので、出勤途中(汗)の筆者さんに編集部まで寄り道していただき、筆者校正の確認。
 夕方… BLANCAのユーザさんから“起動しないよ”メールが! やはり電源周りの質問が来たか。LEDのD3とD4が一瞬点灯してすぐ消えるというのは、ATX電源投入直後は正しく電圧が出力されて起動しはじめた…っと思ったら、やっぱり負荷が軽すぎてスイッチング回路がうまく発振せずに電圧が低下してリセットがかかってる状態?? っということで、ダミーでいいので3.5インチHDDを電源だけ繋いで電気的な負荷を増やしてもらう方法でテストしてもらうことに。たぶんこの方法で起動すると思うんだけど…
 するとすぐに返事が。っほ、無事に起動したそうで。よかったよかった。

 おおかたの予想どおりというか、AppleTVとiPhoneが発表されましたね。iPhoneは、中のCPUはIntel製という話があったり、いや違うとか、情報が錯綜してるな。それにどっかが商標持っててモメそうな話もあるようで、どうなることやら。

●1月11日
 ん〜 BLANCAでM32R Linuxを起動するのにNFSが必要なんだけど、FPGA開発ツール関係はWindowsマシンなんで、なんとかWindowsマシン1台でNFSも用意できないモンかね。何かフリーソフトがある?? パス名にC:とかいうドライブ名が入っちゃう? そりゃダメでしょう(^^;)
 あとは、Windows環境に仮想マシンなりでLinuxやらUNIX環境を構築するか… あとでそのあたりに詳しい筆者さんにセットアップしてもらうか(他力本願モード(汗))

 OS/2終了ぉ〜ですか。個人的にはほとんど触ったことの無いOSですが。えぇ以前、ちょっとだけ触ったことはあります。当時はInterface編集部に移ってすぐの頃、編集作業で使うパソコンといえばそれまでNECのPC98一辺倒から、PC/AT互換機も使うようになった頃。DOSとWindows3.1とOS/2を一つのマシンにインストールするのに苦労した覚えが… っは! その時のOS/2、ろくに使った記憶が無いな…(インストールするだけして、結局メインで使うOSはやっぱりDOSだったからな…(^^;))

●1月12日
 今日のお昼は、筆者さんらと昼食。BLANCAの作戦会議などいろいろ。昼食後も、お一人の筆者さんと打ち合わせ続行。
 ん〜 ホントは某設計データをROM化して、某筆者さんの事務所までお持ちしようかと思ってたんですが、昼からの打ち合わせが予想以上に長引いてしまったので、来週に持ち越しだな…
 夜。BLANCA用LPT接続ツールの動作確認。Windows XPで動作確認をしてみると…やはり動作せず。ある筆者さんのブログにも書いてあったな。今晩はこの問題を片付けるか…

 ExpressCardによるドッキングステーションっすか… いや、別にCardBusなノートパソコンだって、同様なことはやってやれなくは無かったと思うんだけど。まぁ〜 PCI-PCIブリッジとPCI-CardBusブリッジではレジスタ構成が違うし、カード検出とか電源制御とか、PCカード特有の機能を面倒みないとならないんで、PCI-PCIブリッジと同列に汎用バスドライバでのハンドリングするのは、ちとややこしい面もあったしなぁ。…ちなみに個人的には、PCI-PCIブリッジよりPCI-CardBusブリッジのほうが、レジスタマップが美しいと思います、ハイ(64ビットアドレッシングやらプリフェッチなんて、PCIぢゃ使わないって(を))

●1月13日
 ってことで、昨日からそのまま徹夜作業中… Windows XPだとうまくLPTポートにアクセスできない件。以前筆者さんのWebで似たような話があがっていたので、それを参考に対策… んが、どうも状況が芳しくないですな。I/Oレジスタの値を読み書きするツールでアクセステストしてみると… ほら、やっぱり勝手に制御レジスタの値が変わってるよ… これぢゃ動かないわな。その筆者さんに直接詳細を確認してみるか…ってことで、メールを送っておく。

 “「PCケース内部のeSATAコネクタをSerial ATAコネクタとして外出しする」という用途不明の出力ブラケット” …コネクタ付け間違っちゃったけど、知らん振りして売っているに一票(を)

●1月14日
 今日は充電日とさせていただき…Z

●1月15日
 先週金曜日断念した案件。今日こそは! っということで、現時点で動作確認が取れているIPコアに差し替えて、論理合成&配置配線開始! 某CPUコアは大きいから、フィッティングが終了するまで30分とか40分かかるのがつらいな… あれ?! なんかエラー出てる!! この設定ってダメだっけ?? じゃこれなら… げ! これでもダメ!? 新しくなったIPコアの問題かな… ってことで、IPコアのバージョンを戻してみたりとスッタモンダ…
 ん〜 結局今日も時間切れっぽいな… 筆者さんに平謝りのメールを送信。

 Vista搭載PC新モデル解禁日?! 各社から怒涛のごとく新製品発表が。へぇ〜 某F社さんはこういうのも出すんだ。しかしまぁ〜残念ながら、おひつPC(^^;)の前では印象が薄いな…

●1月16日
 今日こそは!! 昨日のエラーでまくりの敗因。落ち着いて考えたら、いっしょに入れちゃダメなコアの組み合わせがあるんでした。昨日のパターンでは、あっちこっち信号が繋がってませんですよ。ISEのエラーメッセージをよく読めばわかるだろって? …すいません。ISEのメッセージってあんまりよく見てないので(をぃ) ってか、どう対処すればよいかわからない場合が多くて(汗) 本来問題のある箇所ではなくて、別の箇所でエラーとしてメッセージが表示されたりして、初心者には混乱させるだけかと…(滝汗)

 先日のCESで展示されていた謎のオーディオ機器、正式リリースですな。VAIOの周辺機器の位置づけなんだね。これ、具体的にどんなことができるのか、評価記事でも読まんとわからんな。

●1月17日
 今日は午前中に自宅近くのファミレスで、BLANCAの件で某筆者さんと打ち合わせです。えぇ、こちらの筆者さん、自宅近くのご近所さんということがわかりまして、今日はこんなところで打ち合わせです。で、どうですか。BLANCAを触った感じは(^^;)
 午後もBLANCAの件で打ち合わせ。昨日やっと準備できた某CPUの新バージョンのハードウェアをもって浅草方面へ。ソフトウェア的にみた場合のメモリマップは変更ありませんが、SDRAMコントローラの接続形態が変更になったので、バスの初期化ルーチンが変更になります。なので、この.gdbinitをコピーして使っていただけますか。
 そして打ち合わせの帰り。秋葉原でお買い物…

 ついに6世代目っすか… 耐加圧は100kgfとか、防滴仕様とか、新機能で強化されているのはわかるが、ここまで見た目がほとんど変わらないシリーズってのもすごいな(汗) そういう意味では完成されたデザインってことなんだろうけど。ここまできたら、この路線で番号2桁いっちゃえ!

●1月18日
 あれ? また忘れた… VisualBasicで&H8000な数値をlong変数に代入すると、&HFFFF8000に符号拡張されてしまうのを回避する小手先テクニック(笑) 通貨型使うんだっけ?? あと、コンボボックスって、アイテムのデータってどこで設定するんだっけ?? もうすっかり忘れてるよ(汗)。InterGiga(Interface本誌付属CD-ROM)を付けてた頃は、VBをバリバリ使ってたんだけどねぇ〜 使わなくなってすっかり忘れちまったヨ。

 エンジン音?! POST(パワーONセルフテスト)時のエラー状況をしゃべるPCのほうが、よっぽど実用性があるような(汗)

●1月19日
 今度のアップデート版でリリース予定のタイマコントローラ、なんか仕様変わった?? せっかく秒単位のズレが無いように設計してもらったハズなのに、一晩経ったらものすごく時間がズレてるんですけど… リセットスイッチを押してテストプログラム再起動… 1分経過… 5分経過… 10分経過… 大丈夫だな。しばらく別の作業をしてから戻ってみると… 1時間経過… 大丈夫ぢゃん。なんで?!
 そうこうしているうちに、筆者さんからも連絡。「仕様変更してないですよぉ」だそうで。 ??? サンプルプログラムのソースをよぉ〜く見てみると… をぃ! 時間の桁の表示が“%d”ぢゃなくて、“%x”になってるし… そっか、それで24時間経過しているハズなのに、18時間と表示されてたわけね(アルファベットが表示される時間だったら一発でわかったのにな(汗))

 せ、セグウェイのオフロードモデルって… あ、ゴルフとかなのね。いやぁ〜「道なき道を走破する!」とかを想像しちゃって、ついに4輪になったか!?とか思っちゃった(^^;)

●1月20日
 BLANCAのアップデート版のリリースを開始すべく、次々送られてくるHDLソースの整理と動作確認を。
 そうそう。次のアップデートでは、アナログRGBコントローラに新機能が追加されます。AC97でのサウンドの再生にあわせて、レベルメータがあるとかっこいいよね!ってことで、さらにもう1プレーン、ハードウェアレベルメータプレーンが追加されました(笑) いやぁ〜ホントはスペクトラム表示のように左右チャネル独立して8セグメント分くらいの表示をさせたかったんですが、筆者さんから「それはちょっと勘弁して…」と言われてしまったので、まずは単純な左右のレベルメータ表示機能だけということで。とはいえ、表示位置は自由に変更できるようにとか、背景のグラフィックスは輝度を落としましょうとか、ピークホールド表示機能は入れましょうとか、なんだかんだ機能を追加してもらいました(笑)。
 ここで実装した機能は、あくまでソフトからレジスタを設定することで画面にレベルメータが表示されるというものなので、サウンド再生でレベルメータとして使う場合は、AC97再生時に16ビットPCM値を保持しておいて、画面描画に合わせて値をレジスタに設定していかないと、音に合わせてレベルが変化しませんのであしからず(^^;)。
 サウンドの場合は48kHzサンプリング動作で1回の割り込みで256サンプル分をブロック転送しているので、秒間187.5回の割り込みが発生しますが、画面表示はどんなに早くても秒間60回、レベルメータごとき??なら、秒間30回でも十分にレベルメータとして見えるので、ソフト的負荷を下げるためにも、少し荒めにレベル表示させてもいいかも??

 PS3にRAIDかい… 電源はPS3本体と連動すんのかね??(24時間運転!?) PS3のHDDはシリアルATAなら普通に繋がるそうだから、思いっきり大容量のを付けたがる人も多い? でも、HDDレコーダぢゃないんだから、現状はそんなにHDDを繋げてもあんまり意味ないかと。スゴ録なんかと連携するようになって、本格的にAVサーバとして使えるようになってくれば、PS3にRAIDもありかな。

●1月21日
 だいぶ前にすでに入手はしていて、じっくりテストできなかった仮想CF。試してみると、ちゃんと動きますよ(あたりまへ!) ノートPCに差し込むと、普通にPCカードATAとして認識しますよ。一般的なスティック形状のUSBメモリだけでなく、SDカードやメモリースティック対応のUSB接続カードリーダの類でもok。また複数のスロットがあるカードリーダだと、先頭のデバイス(ドライブ)が選択されるみたいで、それ以外のスロットにカードを差し込んでも認識されません。まぁ〜PCカードATAには1枚に複数のデバイスが繋がった状態はありえないから、そこはしかたないっすね。面白いには、間にUSBハブを繋いでUSBストレージを繋いでも、ちゃんとストレージを認識したこと。ハブでポートを増やした先に複数のUSBストレージを繋いだ場合は、カードリーダ同様に、USBハブの下を検索したときに最初に認識されるデバイスのみ選択されるようです。シングルデバイスのみ対応なのに、USBハブにまで対応していたのは関心。
 Webを検索すると、このカードをバラしている人がいて、基板の写真がアップされてました。IDEブリッジにはI/Oデータお得意のいつもの石が乗ってましたしたが、USBホストの制御には、なななんとOKIのML60842が乗ってるそうな。ML60842? どっかで聞いた型番… おぉ! この号で取り上げた石だ!! えぇ、高尾まで行ってデモ等を見せてもらったあれですよ。

 レガシーインターフェースは永久に不滅です!! LPT万歳!!

●1月22日
 今日もBLANCAの件で打ち合わせ。すいません。アップデート版のリリースが遅れております。予定では今月25日のInterface2007年3月号の発売日だったんですが、もう少し遅れそうです…

 なんか、PS3でPS2のゲームをすると画面が汚いとかいう話題がちらほら。画質比較のページなんかもあって、何気に見入ったり… 解像度変換のアルゴリズムがよくない?? PS2はしょせんSD解像度なんだから、縦横整数倍でHD解像度にすればいい… ってのは、素人考えか(汗)

●1月23日
 うち、EDSフェアに出展するハズだけど、展示スペースに余裕があるならBLANCAも展示したいんだが… どうも各方面に確認すると、EDSフェアは1コマ分で書籍販売のスペースでいっぱいらしい。液晶ディスプレイつなげてデモを展示はムリそうやな。了解です。当日はボードをハンドキャリーして会場入りして、静態展示だな。

 PS3でEdyを使うときたか。クレジットカードを持ってない学生やお子ちゃまも、PS3でオンラインゲームだのネットショッピングだのがビシバシできるって寸法ですか。

●1月24日
 おっと! Interface2007年3月号、発売日明日ぢゃん! 編集後記にBLANCAのアップデート版、本誌が発売になる頃にはリリース開始です!』なんちゃって書いてるのに、まだ準備できてないっすよ!!(滝汗) 現在の状況を見るに、リリース開始は2月上旬だな…

 おっと、さっそくレポート記事があがってますな。ん〜 ファイヤーウォール機能を使っている場合は手動設定の必要アリか… やっぱAV機器にとってネットワークは鬼門だな。もうちっとなんとかならんもんかねぇ。ちなみに一番下のパッケージ写真。“Wi-Fi Audio”を“Hi-Fi Audio”と見間違い「いまどきHi-Fiなんて、なんかすげぇ〜アナログちっくな感じ…!?」とか思ったのはナイショだ(^^;)

●1月25日
 今日からパシフィコ横浜でEDSフェアが開催されます。10時開場にはぜんぜん間に合いませんでしたが(笑)、とりあえず展示用にボードを持って参上。展示スペースが無いので、とりあえずBLANCAはボードだけ静態展示。
 で、筆者と打ち合わせ… の予定が、急遽キャンセルの連絡。わかりました。また後日にしましょう。とりあえず時間ができたので、会場内をぐるぐると…。
 おっと、電話だ… はいはい、もしもし… はい… あ、OKですよ。じゃ今から行きます。ってことで急遽、横浜から大宮方面まで行くことに。ん〜 そして今日初めて湘南新宿ラインの威力を思い知ったかも(笑)
 夕方、会社に戻ってメールをチェックすると、某筆者さんから「今日の夕方時間取れますよ」とのメールが。ありがとうございます。さっそく待ち合わせ場所に… って、自宅の最寄り駅なんですが(^^;) そこから筆者さんの車に乗せてもらい、筆者さんの仕事場まで。おじゃまいたします。実際にBLANCAの上で動いているところを見せていただく。その後も夕食を食べながら今後の作戦会議など… 遅くまで、ありがとございます。

 いよいよ欧州でも発売開始ですか。へぇ〜 60Gバイトモデルしか出さないんだ。599ユーロってのは、向こうの感覚でもやっぱ高いんだろうな。

●1月26日
 今日は昼過ぎまで会社で必死こいて作業中。原稿がとどいてるショウレポートの原稿を赤入れや、担当の連載やら… あ、原稿にキャプションが入ってないや。筆者さんに確認メールを投げておく。
 そして午後3時過ぎ会社を飛び出して、今日もパシフィコへ。この時間だと向こうに着くのは4時過ぎですが、基本的に今日は手集要員??なので遅番です(^^;) とはいえ、展示会は夕方6時までなので、あらためていくつかのブースを回ったり、BLANCAを貸し出し中の某大学の学生さんに近況を聞いたり。ふむふむ、なるほど。モジュール単体のテストはOKでも、一つにまとめると動作がおかしい… やはりSoC設計はそんなにあまくないか。

 ん〜 なんかよくわからんけど(^^;)、ユーザの手元で編集できるようにはして欲しいぞ…

●1月27日
 BLANCAアップデート版リリースに向けて、がんばっております(^^;)  あれ? このプロジェクト、エラー出るよ… モジュールの接続信号合ってないぢゃん! ん!? サンプルプログラムがハングアップする… あ、これはSDRAM版だった… 落ち着いて、一つ一つファイルのバージョンを確認しながら作業せんとな…

 おおお!! 日本発上陸!? しかし「現在は売り切れ。」か… “受注扱い”だそうだから、発注しておくかな?? メモリーカード本担当者としては、ぜひとも入手せねばなるまい… いやM2はこの本を作るとき、某S社から借りて写真撮ったりして、実物を触ったことはあるにはあるんだけどね。とはいえ、今手元にはないので、やはりサンプルとして手配しておくか…

●1月28日
 そうでした! テキストVRAMコントローラにカーソルブリンク機能を追加するのを忘れてました。以前筆者にテストバージョンを作ってもらったのがあるので、そのソースから必要な部分を切り出して、リリース用に整理してた最新版のソースに追加する作業を。画面描画がなければ、CPUは何もすることはないように、ブリンク処理はハードウェアで行うことに。タイマ割り込みなどを使ってソフトで制御する必要はありません。その代わり??ブリンク周期はとりあえず固定ね。あ、あと、インサートモードの時は、縦長の四角いカーソルを半分の高さにしたほうがいいよな。そのためには…ここでYラインカウントを見るようにするか…
 さて、問題はカーソル位置の指定方法だな。テキストVRAMのハードウェアとしては、垂直ブランキング時にカウンタをリセットして、表示開始とともにインクリメントしながらテキストVRAM位置を管理しているので、カーソル位置もテキストVRAM上のアドレスで指定してもらうのが楽だけど、そのためにはソフトでアドレス計算が必要になるな(現在のテキストVRAMは横80桁なので、Y×80+Xという計算が必要)。
 逆にソフトから見ると、コンソールドライバの内部はX座標とY座標でカーソル位置を保持しているから、テキスト文字出力処理が終わったところで、保持しているX/Y座標の数値をレジスタに書き込むだけにしたほうが楽…
 そこでふと思い出す。実はBLANCAに搭載されているFPGA Spartan-3は乗算器を内蔵しているんですが、添付のIPコアでは乗算器をいっさい使ってないのでした… なのでA/VプロセッサであるSpartan-3/1500に至っては、32個ぜんぶ余ってます(汗) ってことで、添付のIPコアとしてはじめて、乗算回路を使ってみることに! って、HDLソース上で“*”を使った計算を1行入れるだけなんですけどね。
 さて、それにあわせてコンソールドライバも修正。文字列を表示したら次に文字を表示すべき位置にカーソルを指定。これで表示文字に右隣にカーソルが表示されるハズっと。おぉ〜 いい感じっすよ。ここまでくると、文字列入力時にインサートキーを押したときに、ちゃんとカーソルをインサートモードで表示して、1行入力バッファの編集機能を実装したくなるけど… ちゃんと実装しようとすると、いろいろなところに影響が及びそうなので、今回はあきらめ(ハード的にはインサートモード表示も可能だけど、コンソールドライバはその機能は未使用)。いずれ本格的なBLANCA BIOSが完成したときには、きっと実装されることでしょう!

●1月29日
 今日はVHDLではなくてC言語と戯れ…(汗) 第1ロットの出荷版には間に合わなかったIPコアや、新機能を追加したIPコア、そしてそっちこっちのバグをフィックスしたIPコアなど、ハードウェアの仕様があっちこっち新しくなっているので、それにあわせてサンプルプログラムもちゃんと動くように修正&新機能を生かすような機能を追加したり。
 リソース取得ルーチンのところ、一つのリソースに対して、ベースアドレス、チップセレクト番号、アドレス空間、バージョンなど各種情報があるので、ここは構造体で情報を保持したほうがカッコイイよな… えぇ〜と、structってどこで宣言するんだっけ?? しばらく触ってないと忘れちゃうよな(^^;) あとでC言語のえらい人に聞いておこう…

 うぉ! 498で電動っすか!? ホワイトマットで16:9か。プロジェクタ本体もだけど、スクリーンも買い換えるか!? いま自宅で使ってるのは手動巻取り式で、まだ液晶プロジェクタの明るさが暗かった頃に、暗さを補うためにビーズ系のスクリーンを選んだので、最近の明るいプロジェクタだと、逆にまぶしいとか、アスペクト比も4:3なので、16:9で写すと上下がもったいないとか… 重量9kgか。いまの設置場所に取り付けられるか!?

●1月30日
 ん〜 やっぱりおかしいよな。アップデート版リリースに向けて最終動作確認中なんですが、AC97の録音時の音量が低いんですよねぇ… この問題、以前からおかしい…よね??と思っていたんですが、とりあえず音が録音&再生できるからいいや!ってほっといたんですが(をぃ)、さすがにアップデート版リリースに際して、ちゃんと確認しておかないとな…っということで。
 先日追加したレベルメータ機能を使って音量レベルを表示させると、WAVEファイル再生時の音量のちょうど半分程度までしか上がってないな… ってことは、ビット切り出し位置が違ってるぅ?? とりあえず適当なところで16ビットPCMに切り出しているところのビット位置を1ビットMSB側にずらすと… おぉ、再生とほど同程度の音量で録音されますよ。
 ってことで、AC97周辺担当の筆者さんに報告して、詳細を確認してもらわないとな…

 いやぁ〜 ついにWindows Vista発売ですね。秋葉原で深夜発売開始というと、Windows95の発売はもう10年以上前になるんだねぇ〜 あれはホントにお祭りだったなぁ。その後もWin982000の発売は秋葉に行ったけど、さすがにXPからは行かなくなっちゃいました(根性なし(笑)) 今回のVistaも、TV観戦で済まします(^^;)

●1月31日
 いやぁ〜 まずいまずい。担当の連載原稿、まだ送稿してなかったり… ってことで、外出から帰社後、あわてて編集者モード(^^;)
 夜、筆者さん来社。BLANCAのUSBの安定性を向上させるためのお手製謎アダプタを進呈(汗)。電気的な部分はこれでかなりバッチリになったハズなんですが、実はもう1点だけ課題が残されてまして… なぜかUSB2.0のハブにつなぐと、バルクIN転送の途中でコケちゃうんですよ。同じUSB2.0でもルートハブ直結だと動くという、摩訶不思議な現象が…
 たしかに、USB2.0のハブって、下に1.1な機器が接続されると、親側に1.1なパケットは直接流さずに2.0に変換して通信するんで、バッファリングをちゃんとしないと大変なことが起こることが予想されるわけですが… この問題はどうも使用しているWindowsのドライバにも関係している気がするんで、少し時間いただけますか。

 インパクトの大きかったおひつPCの記事。とりあえず、普通にPC/AT互換機らC(そりゃそうだ)


●2006年12月に戻るのだ

●2007年 2月を読むのだ


(M)のページにもどる

Interfaceのページへワープする!