« 今後の演奏会予定 | トップページ | 楽器の物理的構造について »

2010/01/14

np2にハードウェアLFOを実装してみた。

http://homepage1.nifty.com/~sha_w/np2_20100114_sw.lzh

すぐ実装できそうだったから、 さくっとハードウェアLFO実装してみた。

YM2608 は、ハードウェアLFOあるんですよ!!
ハードウェアLFOを使ってる曲がある以上、実装しなければならないじゃないですか!!
(個人的には、YM2608のハードウェアLFOは使いにくいと思うが)

ちょっと、元のソースの解析に不安はあったけど、
アルゴリズムに関しては、一発で成功した。
細かいところでミスってて、デバッグに3時間くらいかかったけど。



;ハードLFO-------------
;変位の計算
.if (opngen.lfo_enable & 01h)
    mov   eax, opngen.lfo_freq_cnt
    add   eax, opngen.lfo_freq_inc
    mov   opngen.lfo_freq_cnt, eax
    shr   eax, (FREQ_BITS - SIN_BITS)
     ; ↑ これ、入れ忘れてチョー早すぎLFOになったり
    and   eax, (SIN_ENT - 1)
     ; ↑ これ入れ忘れて、メモリ違反でたり
    mov   dl, opncfg.sinshift[eax]
    mov   eax, opncfg.sintable[eax*4]
.else
    xor   eax, eax
    xor   edx, edx
.endif
    mov   LFO_Level, eax
    mov   LFO_LevelSft, dl
;-----------------------

|

« 今後の演奏会予定 | トップページ | 楽器の物理的構造について »

コメント

このデータ下さい

投稿: NightCat | 2017/02/27 01:58

コメントを書く



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




トラックバック

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

この記事へのトラックバック一覧です: np2にハードウェアLFOを実装してみた。:

« 今後の演奏会予定 | トップページ | 楽器の物理的構造について »