Atari STのPSG(YM2149)とYM2608(OPNA)のPSG部分がほぼ同じなら、同じこともできるはずでしょ、ということでテクニックを1カ月ほど調べてみたのでメモ。
実チップで再現するには知識が足らなすぎるので、作ったVGMファイルをVGMPlayで再生する方法で試した。
未確認情報あり。
雑記#5
OPNAのPSGでSID voice&Buzzer Effectをやってみたい。
チップチューンのすべてを読んでいたら、Atari STでの話でPSGで三角波、ノコギリ波、PWMを鳴らすことができるのが面白そうと思ったので調べてみた。
Tao - Birth (Atari ST Magic Synth 2.5.2 music)
これまでイメージしてたPSGの曲(日本の昔のMSXのゲームとか)とだいぶ違っていたのでPSGでもここまでやれるのかと驚いた。
このYM2149はOPNAのPSG部分をほとんどそのまま分けたものと聞いていたので、OPNAでもできるはずと最近は色々情報を調べてる。
自分はハードウェアのことは全くダメなので、ソフトウェアでOPNAを再現するfmgenを使うことにした。ただ、どこまで実物の挙動を再現しているのかはよくわからない。波形をいじるのに割り込みなども使っているみたいなので、そのあたりのプログラミングをするのもなかなか大変そうだ。
情報を調べるのに英語力が必要でかなり苦労してる。やっぱり英語を勉強しないとダメだな。
やっと最近、なんとなくだけどSID voice(PWM)とBuzz effect(三角波など発声)のやり方が分かってきたのでちょっとずつ試してみたい。
いろいろ調べてるついでに、PSGでSIDっぽいこともできないかなと、ドラムの再現をしてみた。
ドラムとイメージしてパッと出てきたのがファミコンのBucky O'Hareだったのでこの曲でテスト。
普通にノイズやパルス波を鳴らすだけじゃなくて、カウント単位で切り替えたりするトラッカーで作るみたいにすると、いい感じにバシバシするドラムができた。
その反面、カウント単位で指定しているので全体の音長指定をするときに途中でカットするマクロを別に作らないといけないのがなかなか大変。
主旋律、ベース、ドラムで3ch使っているけど、頑張ってベースとドラムを同じチャンネルに纏めたら2ch目にコーラスを入れたりして聞こえが良くなりそう。でもMMLでやるとかなり労力を使いそうだ。
やっぱりトラッカーが欲しい。
Cygwinでアニメーションみたいなの
お遊び。
C言語で通信するプログラムを書いていた時に、相手の応答待ち中何もしないでいるのは面白くなく思ったのでncursesを使って文字色を変えながら文字を動かすアニメーションを流すことにした。
今時するプログラミングじゃねぇや。
Visual Studioでマークダウンをプレビュー表示させながら編集する
GitHubでプログラムを公開し始めると、READMEなどをマークダウンで書くようになりました。
ただのテキストファイルやHTMLに比べて段落分けやシンタックスハイライトなどが分かりやすく簡単に書けますね。マークダウン最高。このブログもマークダウンで書いてます。
ただ、これまではGitHubのページからCreate READMEをしてから、オンラインエディタで編集していましたが、普段使ってるエディタでも編集できた方が楽だと思い少し探してみました。
ここ最近はC#でプログラミングをしているのでVisual Studio(Visual Studio Community 2015)でマークダウンを編集できるようにしてみました。
雑記#4
とりあえずM3に出す曲も作ったし、SID音源で作曲の練習をしたりしたところでプログラミングに戻ってる。
ConvFMMLをCからC#に変えてGUIアプリケーションにしようとプログラムを書き始めたのが今年の3月ごろなので、半年くらいかかってようやく終わりが見えてきた。
といっても、4月ごろにフォームが一通り完成してやる気がなくなってしばらく放置してたから、実際はもっと短いけど...
オブジェクト指向のプログラミングをするのでデータ構造のクラス図を作ってからコーディングしようとしてたけど、それを作るのに1カ月くらいかかった。
実際コーディングしてみて結局ほとんど書きかえたので無駄に時間をかけてしまった。
何でもきっちり決めてからやるんじゃなくて、ある程度出来たら次の段階に進む方がやっぱりいいと改めて実感した。
中のデータ処理でも、特にデータ最適化やファイル出力あたりでかなり頭がこんがらがって進まなくなってきてる。
このあたりがおかしいけどどこが悪いのかはっきりとわからないときに、なんとなく修正したら問題が解決したりして、余計にわからなくなってきているので色々と辛い。
けど、ここまで来たんだから最後まで完成させたい。
出来れば9月中に公開したかったけど、(恐怖の)デバッグしたりするのでまだまだ先になりそう。
雑記#3
神戸とガンバのルヴァンカップをノエビアスタジアムで観戦した。
涼しくて風も少しあった感じで、プレーしやすかったのか、ここ数試合に比べて動きが良かった。
何度か危ないシーンがあったけど、徳重が防いでくれた。個人的には徳重がマンオブザマッチ。
攻撃でもポドルスキに惜しいのが3つくらいあった。もう少しなんだけどなかなか取れないなぁ…
渡邉千真はボールをもらってからシュートまでの判断が1・2歩くらい遅い。打つならもっと早く打ってほしい。
ガンバの主力が代表に引き抜かれていたので、ホームで点を取ってアドバンテージを得たかったので、ドローというのは残念。リーグ戦では先制した後に逆転されたりしているので、第2戦では勝ち切ってほしい。
代表のオーストラリア戦は、思った以上に内容が良かった。
相手が放り込みサッカーをしてこなかったのもあるだろうけど、大きな決定機をあまり作らせなかった。
中盤から前のプレスが効いてて、相手のエリア内でボールを奪えていた。2点目も相手のパスミスからの流れだった。
岡崎がクラブでよくしてる動きだけど今日は前線みんなが守備をできていたので相手に試合を組み立てづらくしていた。
大迫のキープもすごかった。前線でキープできていたので相手の速攻をつぶせていた。
今日の試合は内容も結果もとてもよかった。これをもっと磨いてワールドカップで結果を残してほしい。