2002年5月


2002/05/01(水)

Java

字句解析部、動き始めたっぽい。…っぽい? <まだかなり自信なし

モデル

WonderWitchのページでモデルさんの写真を 公開してみました。
ある時は人なつこく、またある時はよそよそしく。たぶん飼われてはいないはず。

ちなみに黒猫さんのほうは、特定のモデルはいません。


2002/05/02(木)

Java

ちと面倒(自分従来比)なデータ構造をごにょごにょするために java.util.Collectionコレクションクラスをいろいろ調査。
C言語で途中までできてるものをわざわざJavaで書き直し始めたのは、 各種データ構造を予め用意してくれてるので頭の中を整理し やすかろうと思ったからなんですね。 (あと、配列を自動拡張してくれるクラスがあるという理由も。)

ここをうまく越えられれば、「Javaで書き直してみて良かった」となるわけですが… 果たして。

(追記)java.util.Collectionと書いたら単一のインターフェースを指す意味に なってしまうので「コレクションクラス」と修正しました。


2002/05/03(金)

Java

字句解析部はほぼ動くようになった模様(少なくともC言語版と同レベルには)。
その他の部分も着々と進行中。

モデルさんに

モデル代を少し出しておきました。


2002/05/04(土)

PC

ここ一週間ほど、メインPCからたびたび異音が。どうも冷却ファンが うなっているような感じ…。その日最初の起動時に集中して発生し、 しばらく放置してから再び電源を入れると直ってしまう。謎。

Java

Javaのコンパイラって、数値リテラルを変数に代入するときにちゃんと 値の範囲を見てるんですねー。

賢いですなー。Cだと処理系によって変数の実際の大きさが違うとか いろんな理由で、やりたくてもできないでしょうけど。

さらにJava

17時55分、C言語版のMMLコンパイラと全く同じリソースパッケージを 吐かせることに成功しました。めでたいです。とてもめでたいです。

Java版のMMLコンパイラを公開してみました。単なるしゃれなので文句その他 受け付けません。(をいをい


2002/05/05(日)

Java

コマンドライン周りの整備。Humming Cat丸ごとセットへの統合。 (以後、Java版MMLコンパイラの話はWonderWitchの話として書きます)

WonderWitch

Java版MMLコンパイラ(hcmmlj)、波形定義用のパーザが とりあえず書けたような。だいたい動いてるみたいな感じ。<いいかげん

あと、音量/音程エンベロープ用のパーザ書いて、それができたらMMLコンパイラ とドライバ本体の動作検証を同時に進めて…と考えていますが、 どれだけかかるやら。締め切りまであと一週間…。


2002/05/06(月)

WonderWitch

音量/音程エンベロープ用のパーザ(データ生成も含む)、 なんとか書き終わり。軽くテストした限りでは動いている模様。値の範囲チェック などをまともにやってないので、変なMMLを食わせればそのまま変なデータを 吐きますが、そういうものだと思って下さい(いずれちゃんとしたいですが)。

実際のところエンベロープ用パーザは、生成するデータのエンコードが 面倒くさいだけで、パージング自体は大したことなし。本当にパージングが 面倒なのはトラック用パーザにスラー/ポルタメント/連符などの機能を 追加するとき。

さらにWonderWitch

MMLコンパイラがなんとかなってきたので、ようやくドライバ本体 のエンベロープ機能の検証に入りました。
組み込みエンベロープデータをいじると音が変わって…お、動いてるかな? と思ったのも束の間、それ以上エンベロープデータをいじっても 全然音が変わる気配がなく。
また例によって例の如く、「一見動いてそうだけど実はめちゃくちゃ暴走しまくってる」 パターンですか。かも知れない。(-_-);;;


2002/05/07(火)

WonderWitch

呪われた日。どうにもまともに音が鳴らず。
演奏状態を表すフラグを丸っきり更新し忘れてたとか、MMLコンパイラが まだ対応できてないコマンドを一生懸命使おうとしてたりなどという 微笑ましいミスは潰したものの、それでもどうやっても動かない(19:15現在)。
買い物行ってきます…。

さらにWonderWitch

22:20現在、波形切り替えは動くようになりました。 エンベロープはまだ動いてるか分かりません。
これほどバグで悩んだのも久々のような気がします。

そしてWonderWitch

やはりエンベロープはまだおかしい。キーオフ後のリリース音のエンベロープが 変になってるみたい(もしかしたらそれ以前も変なのかも知れないが)。
エンベロープ中で無限ループを使った時の処理が抜けていたので直したが、 それとは関係なく。(23:45現在)


2002/05/08(水)

WonderWitch

昨日は、どうにもならないので「もういいや寝よ」と思って すっぱりと寝てしまいました。

寝て起きて、「さぁこのリセットされた(というかまだ半分寝ぼけてる)頭で 考えてみたら分かっちゃったりして〜」などとつらつら考え始めたところ、 ものの10秒ぐらいで本当にバグの原因に思い当たってしまいました。

こういうことってやっぱりあるものなんですねー。でも「自分では正しいと 思い込んでる」系のミスだったので、昨日の疲れた頭で続けても気付かなかった と思います(実際、その箇所を見返したとき気付かなかったし)。

休息は重要、ということで。

続WonderWitch

エンベロープは音量/音程用ともに動くようになりました。 実はちゃんと検証するとおかしい所が見つかるかも知れませんが、そんなに 暇がないのでパス。

WWGPに応募するとき、キャプチャした画面イメージが要るので、 データプレーヤをbmpsaverに対応させました。あんなつまらん画面を 取り込んでもしようがないんだけど…。

続々WonderWitch

内蔵スピーカのスケーリング設定を変更する機能、 どういう仕様にするか決めあぐねていたんですが、やっと決定・実装 しました。

このときにPCM音源駆動部をいじったので、ついでにCh3ノイズモードにも 対応させてみました。これでノイズドラムが使えるようになれば、かなり 演奏できる曲の幅が広がるかなと。動作テストはまだ。


2002/05/09(木)

WonderWitch

それなりにいくつかハマりましたが、ノイズモードが無事に 動くようになりました。

WonderWitchその2

内蔵スピーカのスケーリング設定もちゃんと動作。

それから、ループコマンドに対応してみました。どうやら一発で動いた様子。 ある意味気持ち悪いですが良かったことにします。

WonderWitchその3

データプレーヤにファイル選択機能を付けようとしてるんですが…、 これがひたすら面倒くさい。WonderWitchのファイル操作周りは、もっとまともな ラッパーライブラリが必要だと痛感しました。今回は間に合いませんが…。

WonderWitchその4

19:20、突貫ではありますがデータプレーヤのファイル選択 機能ができました。とりあえずそれっぽく動きゃいいんですよ…。

WonderWitchその5

以前から(去年の秋から(^^;;;)用意してあった サンプル曲のMMLをコンパイルして鳴らしてみる。んーちょっと音が汚いなぁと 思ったけど、適当にエンベロープをでっち上げて入れてやったら、 なかなか綺麗に鳴り出したので満足。

楽譜をベタ打ち込みしただけでなんの調整もしてないので、「なんじゃこりゃ」 程度のデータですが、私のセンスはこんなレベルというのを示すにはちょうどいい です。そもそもこの曲、ちゃんとした演奏を聴いたわけじゃないんで どう鳴らすのがいいか知らないし(^^;;;

WonderWitchその6

1つのMMLファイルに複数の曲データを書けるようになりました。 これができると、効果音をたくさん作ったりするとき便利かなーと。リソースと してはまとめて1つになります。

SoundILと違い、Humming CatではBGMと効果音の扱いに本質的な違いはありません。 将来、ラッパーライブラリではBGM用と効果音用にそれぞれAPIを作ろうかと 思っていますが、BGM用のデータを効果音として鳴らすようなこともできます。 あまり意味はないですが。


2002/05/10(金)

WonderWitch

1リソース-複数曲データ形式にデータプレーヤを対応させるべく 作業をしていたところ、やばいバグ発覚。
Humming Catでは、演奏開始/停止などの要求受け付け処理の一部を割り込み ルーチン側に置いている(割り込みがかかるまで実際の処理が行われない)にも 関わらず、割り込みを待たずに連続で各種要求を叩き込んでも矛盾なく 処理が行われるというややこしいアーキテクチャを採用しています。 (要求を待ち行列に押し込むとかじゃないですよ。)
が、この根幹のアルゴリズムが一部ミスってました。(^^;; 直す方法はあるんですが、結構時間かかるかも知れない…。

WonderWitchその2

ドライバ本体のバグ、芋づる式にもう2つ発見。どれも けっこうやばい。(;_;)

WonderWitchその3

見つかったバグはすべて潰せた、と思いたい。たぶん。
けっこうコードいじったから心配だなぁ…。締め切り2日前にやることじゃない のは確か。

WonderWitchその4

リソースデータのフォーマット、また微妙に変えちゃった。てへ。 (リナ=インバース風口調で)

WonderWitchその5

発音禁止モードに対応。演奏処理はするけど実際に発音しないというモードです。 意味不明。
もちろん考えあって作ってるわけですが、これを使用する「ネタ」は 今回のWWGPには間に合いません。だからこんなものは後回しで いいんですが、なんとなく未実装機能を減らしておきたかったんです。


2002/05/11(土)

WonderWitch

ドライバ本体とMMLコンパイラを少し手直し。
さて、そろそろマニュアル書きにかからないと…。Humming Catの場合、 既に何度か公開してるので、マニュアルが0からの書き起こしでないのが救い。
もし時間が余ればもう少し追加したいところもありますが、マニュアルが優先。


2002/05/12(日)

WonderWitch

午前4時、コードフリーズ>make>動作確認>画面キャプチャまで 終わった模様。てゆーかなんで今ごろまでやってんだよ。マニュアル書くんじゃ なかったのかよ。うぇーん。

WonderWitchその2

19:30、まあ大体できたかな〜。あと、最後のチェックして提出するか…。

もう頭ふらふらだよ〜(徹夜は結局できずに寝たけど)。あ〜もっと図とか使って 分かりやすいマニュアルにしたかったよ〜。でももう限界。頭も残り時間も。

WonderWitchその3

21:00、ようやく応募のメールを出せました。何事も なければ締め切りには間に合うと思います。間に合え。

マニュアルは結局すごい突貫工事になり、IEでの表示がひどいことが分かった ものの直せず。
いろいろ重要な記述が抜けてたりもするかも知れませんが、 思い出さないほうが身のためか。

WonderWitchその4

なんとか日付が変わる前にWeb上でも公開できました。Humming Catβ04。
ちなみにWWGP2002の受け付け番号は73でした。

余談

ちなみにまったくどうでもいいことですが、ここ一週間くらいの作業中のBGMは ほとんどParty's Breakerでした。特に瑞希、あさひ、千紗、郁美、すばるのBGMを 重点的に。やばい人ですか。ええそうですとも。えーんえーん。

Party's Breakerは、一応隠れキャラを3人までは自力で出しました。 元ネタのゲームはやったことないんですが。


2002/05/14(火)

通院

今日は月1回の病院行く日(ほとんど薬もらうだけに近い)だったんですが、 おとといまでの疲れが出たか寝過ごしてしまい、慌てて病院に行きました。 (そこの消化器科が午前中しかやってないので。)

そうしたら、財布の中身確認するの忘れてて、薬代を全部払い切れず。はっはっは。 アホすぎ。
「足りない分は次回でいいです」と言ってもらえて助かりました。

でも「次回でいい」のはやっぱり「固定客だから」なのかな、と思うと素直に 喜んでいいものやら。

WonderWitch

Humming Catについては、昨日は作業ディレクトリを整理しただけ、 今日は何もなし。

いずれ必ずと言っててずっとやってなかったWTDの試用をしてみたり(遅れたわりに 大したことできなくて申し訳ないですが)、これはやっとかないと嘘だろ、と思った Dicing Knightで暫し遊んだりしました。

しかしやはり私としては、かのBroomが公開された以上、これをいじらないわけには いきません。
まだサンプルを実行してみた程度なのですが…、この手のひらサイズのWonderSwanの 中でバイトコードコンパイラやら仮想マシンやらガベージコレクタやらが動いて いるかと思うと、それだけで感動してしまうのでありました。

そしてさらにすごいことには。
一昨日わんだらぁさんのところで Broomを頂いてきた時に掲示板にご挨拶を書き込んできたので、 「書き込み増えてるかな」とBroomをいじる前に様子見に行ったところ、 拙作Humming Catについてわんだらぁさんからとてもとても ありがたいお言葉を頂いていたのでございます。
それはもう舞い上がりました。もちろんまだ何も決まったわけでもなんでもない ですが、やる気が300%ぐらいアップしました。

それでも、仕事してないよ期間が1年9か月近くにも達し、 すでに親から生活資金を借りるに到っているという、かなり問題の多い状況 にある私としては、まず仕事を探すことから考えなければ ならないのでありました。(泣)


2002/05/16(木)

所感

だんだんと、存在を認めてもらえるようになってきてるなあ…と実感しています。

4年前、ほとんど成り行きまかせで入ってしまった就職先の会社で、ソフト開発職 の希望はあっさり無視されてハード部門に入れられ、それでもそれなりには 仕事をこなし(たつもり)、2年5か月ほど働きました。しかし別に得意分野でも なんでもないので人手にはなれても人材にはなれず、元々弱めな身体で 人並みに残業もしようとした(ピーク時でも月100時間程度が限界でしたが)のが たたったか体調/精神ともに崩しました。

職場の人間関係には恵まれたと思っていますが、ハード部門なのでソフトウェアに 強い人はそうそう周りにおらず、従って自分の実力がどの程度なのか的確に判断して はもらえず、大学の卒業研究での仕事(スーパースカラプロセッサの性能シミュレータ 改造)も中途半端で終わっていたこともあって、自分の実力に対してどんどん懐疑的に なっていきました。

それでもやはりソフト開発をちゃんと仕事としてやってみたかったのでその会社は 辞めました。(ソフト部門への転属希望を出すこともその気になればできたでしょう が、正直その会社のソフト部門ではあまり面白い仕事はできそうにないと感じて いました。)

しかし、

といったことから、ずるずると無職の期間が長引いていきました。その間、 ソフトウェア開発技術者の資格を取ったりもしましたが、自分が受けてみて 「あーこんなのできても実際の仕事能力とまるで関係ないな」と思うような 試験を、誰が認めるのかと思うと、自信にはなかなかつながらず。

Humming Catは自分の実力がどの程度のものかを測る意味もあって作っています。 それがだんだん認めてもらえるようになってきていることは、私にとっては とても大きなことです。おしまい。


2002/05/17(金)

first contact...


2002/05/19(日)

待機しながらHumming Catのマニュアルについて考察

ただ待っていてもしかたがないので、そろそろ作業再開しようかな…。

まず取りかかりたいのは、あのひどいマニュアルです。IEでも問題なく表示できる ようにちゃんと整形して、それから中身の足りないところを補完して。

HTMLを書くとき、XHTMLで非推奨要素になってるようなものはなるべく 使いたくないなぁなどと思っていたんですが、NN4.xを相手にする限りそんな ことは言っていられない模様。こんなブラウザ無視したいところですが、 なぜか自分が常用しているのでそうもいきません。

WonderWitch

Broomα1のソースが公開されていることに今ごろ気付いたり。
「Broomのソースが読める!!」というだけでゾクゾクしてしまう私は変ですか。


2002/05/20(月)

交渉中…といっていいのか分かりませんが、とにかくそういうことです。


2002/05/21(火)

少しずつ進展しつつあります。今週末が転機となるか。


2002/05/23(木)

下見とか。

WonderWitch

DMCが久々にバージョンアップしてるにゃ!!


2002/05/24(金)

ノート発掘

去年、ソフトウェア開発技術者試験を受ける前にさんざん探し回って 結局見つからなかったノートが、今ごろひょこっと出てきました。
情報通信の授業のノートで、待ち行列理論の数式の導出過程が一応書いて あるので試験前に読み返しておきたかったのです。
ただ、去年の試験には待ち行列理論は全く出なかったので、 結果的には実害なしでした。


2002/05/25(土)

社会復帰へ一歩

しばらくの間の仕事が決まりました。まだ社会人というには かなり微妙な位置ですが、這い上がるきっかけができたという感じでしょうか。


2002/05/27(月)

謎ツール

mp3ext.exeの対応タイトルが1本増えたことを確認。計2本(少ない)。
このツール、まだ高速化の余地があるんですが、自分以外だれも使ってない と思われるので多分このままです。


2002/05/29(水)

小説

リアルバウトハイスクール9巻読了。後書きのクイズの答えを 「南雲慶一郎vs京極美月」「御剣涼子vs京極真琴」「草なぎ静馬vs氷室那智」 などと予想してみたり。京極美月はかなり無茶っぽいが、戦闘能力がないとは 書いてなかった気がするので入れてみた。(なんのこっちゃ分からん、気になる、 という方は買って読むんですにゃ!! 既刊9+4巻全部。)

ちなみに「なぎ」の字が機種依存文字だとかいう、知らなくても大して 困らないことを延々調べたりしている私は一体。


2002/05/31(金)

散髪

散髪。

WonderWitch

WWGP2002の全応募作品が公開されましたなあ。ハード部門の応募数、 1つのようですがどうするんでしょう。

あと、人気投票が開始されたので、まだ全然試してないけど投票だけ 済ませたり(早っ


最新の日記へ戻る トップページへ戻る