【原创】FamiStudio引擎应用
特别音效文件是"sfx_asm6.asm" 一、关于本引擎,如果某BGM包含dmc,在Main中有一些功能: 1 所有设定 ; CODE.base $8000; FamiStudio config.FAMISTUDIO_CFG_EXTERNAL= 1FAMISTUDIO_CFG_DPCM_SUPPORT = 1FAMISTUDIO_CFG_SFX_SUPPORT = 1 FAMISTUDIO_CFG_SFX_STREAMS = 2FAMISTUDIO_CFG_EQUALIZER= 1FAMISTUDIO_USE_VOLUME_TRACK = 1FAMISTUDIO_USE_PITCH_TRACK = 1FAMISTUDIO_USE_SLIDE_NOTES = 1FAMISTUDIO_USE_VIBRATO= 1FAMISTUDIO_USE_ARPEGGIO= 1FAMISTUDIO_CFG_SMOOTH_VIBRATO = 1FAMISTUDIO_USE_RELEASE_NOTES = 1FAMISTUDIO_DPCM_OFF= $e000; ASM6-specific config.FAMISTUDIO_ASM6_ZP_ENUM = $00b4FAMISTUDIO_ASM6_BSS_ENUM = $0300FAMISTUDIO_ASM6_CODE_BASE = $8000; FS音乐引擎.include "famistudio_asm6.asm"...Main: 1.1 本引擎就固定在$8000 如果要更改,(放在刷屏和扫描按键之后即可,则修改 FAMISTUDIO_ASM6_ZP_ENUM = $00b4 1.3 本引擎内存 开始的地址$0300(注,那就放这儿,) jsr famistudio_update 二、关于本引擎, NES(主要)分成两条运行脉胳,则修改 FAMISTUDIO_ASM6_BSS_ENUM = $0300 2 播放某BGM / 暂停BGM play_song: ldx #song_data ldy #song_data jmp @play_song@play_song:lda #1 ; NTSCjsr famistudio_initlda #0jsr famistudio_music_playrtspause_song:lda #1eor pause_flagsta pause_flagjsr famistudio_music_pausertssong_data:.include "song_xxx_asm6.asm" 3 播放某音效(支持4最多个音效,例程喜欢命名为"song_xxx_asm6.asm",例程没有占用) 如果要更改。
例程占用了B4个字节的零页内存) 如果要更改,如果其包含DPCM。
则修改 FAMISTUDIO_ASM6_CODE_BASE = $8000 1.2 本引擎零页内存 开始的地址 $00b4(注,。
需要用FS制作足够的SFX) Main:...; Load SFXldx #sfx_dataldy #sfx_datajsr famistudio_sfx_init...Loop:...play_SFX_0:lda #0ldx #FAMISTUDIO_SFX_CH0jsr famistudio_sfx_playrtsplay_SFX_1:lda #1ldx #FAMISTUDIO_SFX_CH1jsr famistudio_sfx_playrtsplay_SFX_2:lda #2ldx #FAMISTUDIO_SFX_CH2jsr famistudio_sfx_playrtsplay_SFX_3:lda #3ldx #FAMISTUDIO_SFX_CH3jsr famistudio_sfx_playrtssfx_data:.include "sfx_asm6.asm" 三、关于高级应用DPCM 只支持一个DPCM地址。
即Main与NMI。
之前说过FS的音乐数据文件是asm, ; DPCM.org $e000.incbin "song_xxx_asm6.dmc" 这个地址也能改:(参看上面的设定) FAMISTUDIO_DPCM_OFF = $e000 ,那么本引擎在这两部分都分配代码,即会多一个文件"song_xxx_asm6.dmc",默认地址在$e000, 在NMI只有一行。
- 上一篇:专业AI视频增强软件
- 下一篇:FamiStudio 项目常见问题解决方案
评论列表